--- /dev/null
+#clang-format/tidy
+8bed00ab34e31f2b9c70026d418d923913325798
+48c132be8aa983165126b0641a083848dd5c6620
+06ca3b8c62989f59ca348606dfd4eda9e3ee3ec0
--- /dev/null
+# Ignore the following files
+*~
+*.[oa]
+*.diff
+*.kate-swp
+*.kdev4
+.kdev_include_paths
+*.kdevelop.pcs
+*.moc
+*.moc.cpp
+*.orig
+*.user
+.*.swp
+.swp.*
+Doxyfile
+Makefile
+avail
+random_seed
+/build*/
+/.vscode/
+CMakeLists.txt.user*
+*.unc-backup*
+.cmake/
+/.clang-format
+/compile_commands.json
+.clangd
+.idea
+/cmake-build*
+.cache
--- /dev/null
+# SPDX-FileCopyrightText: 2020 Volker Krause <vkrause@kde.org>
+# SPDX-License-Identifier: CC0-1.0
+
+include:
+ - project: sysadmin/ci-utilities
+ file:
+ - /gitlab-templates/linux-qt6.yml
+ - /gitlab-templates/linux-qt6-static.yml
+ - /gitlab-templates/android-qt6.yml
+ - /gitlab-templates/freebsd-qt6.yml
+ - /gitlab-templates/windows-qt6.yml
+ - /gitlab-templates/alpine-qt6.yml
--- /dev/null
+Dependencies:
+- 'on': ['@all']
+ 'require':
+ 'frameworks/extra-cmake-modules': '@same'
+
+Options:
+ test-before-installing: True
+ require-passing-tests-on: [ 'Linux', 'FreeBSD', 'Windows' ]
--- /dev/null
+cmake_minimum_required(VERSION 3.16)
+
+set(KF_VERSION "6.10.0") # handled by release scripts
+project(KConfig VERSION ${KF_VERSION})
+
+include(FeatureSummary)
+find_package(ECM 6.10.0 NO_MODULE)
+set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules")
+feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES)
+
+set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
+
+include(KDEInstallDirs)
+include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE)
+include(KDECMakeSettings)
+include(KDEGitCommitHooks)
+
+include(ECMGenerateExportHeader)
+include(ECMSetupVersion)
+include(ECMGenerateHeaders)
+include(ECMMarkNonGuiExecutable)
+include(ECMPoQmTools)
+include(ECMAddQch)
+include(ECMQtDeclareLoggingCategory)
+include(ECMDeprecationSettings)
+
+set(REQUIRED_QT_VERSION 6.6.0)
+
+find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Xml)
+option(KCONFIG_USE_GUI "Build components using Qt6Gui" ON)
+if(KCONFIG_USE_GUI)
+ find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Gui)
+endif()
+
+option(KCONFIG_USE_QML "Build components using Qt6Qml" ON)
+
+if(KCONFIG_USE_QML)
+ include(ECMQmlModule)
+ find_package(Qt6 ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS Qml Quick)
+endif()
+
+# shall we use DBus?
+# enabled per default on Linux & BSD systems
+set(USE_DBUS_DEFAULT OFF)
+if(UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAIKU)
+ set(USE_DBUS_DEFAULT ON)
+endif()
+option(USE_DBUS "Build components using DBus" ${USE_DBUS_DEFAULT})
+if(USE_DBUS)
+ find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED DBus)
+ set(KCONFIG_USE_DBUS ON)
+endif()
+
+set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].")
+
+option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF)
+add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)")
+
+set(kconfig_version_header "${CMAKE_CURRENT_BINARY_DIR}/src/core/kconfig_version.h")
+ecm_setup_version(PROJECT VARIABLE_PREFIX KCONFIG
+ VERSION_HEADER "${kconfig_version_header}"
+ PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF6ConfigConfigVersion.cmake"
+ SOVERSION 6)
+
+ecm_set_disabled_deprecation_versions(
+ QT 6.8.0
+)
+
+add_subdirectory(src)
+if(BUILD_TESTING)
+ add_subdirectory(autotests)
+endif()
+
+include (ECMPoQmTools)
+ecm_install_po_files_as_qm(poqm)
+
+
+# create a Config.cmake and a ConfigVersion.cmake file and install them
+set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF6Config")
+
+if(BUILD_QCH)
+ ecm_install_qch_export(
+ TARGETS KF6Config_QCH
+ FILE KF6ConfigQchTargets.cmake
+ DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
+ COMPONENT Devel
+ )
+ set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF6ConfigQchTargets.cmake\")")
+endif()
+
+include(CMakePackageConfigHelpers)
+
+configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/KF6ConfigConfig.cmake.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/KF6ConfigConfig.cmake"
+ INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
+ )
+
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/KF6ConfigConfig.cmake"
+ "${CMAKE_CURRENT_BINARY_DIR}/KF6ConfigConfigVersion.cmake"
+ "${CMAKE_CURRENT_SOURCE_DIR}/KF6ConfigMacros.cmake"
+ DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
+ COMPONENT Devel )
+
+
+install(EXPORT KF6ConfigTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
+ FILE KF6ConfigTargets.cmake NAMESPACE KF6:: COMPONENT Devel)
+
+
+install(EXPORT KF6ConfigCompilerTargets DESTINATION "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF6Config"
+ FILE KF6ConfigCompilerTargets.cmake NAMESPACE KF6:: COMPONENT Devel)
+
+install(FILES ${kconfig_version_header}
+ DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KConfig COMPONENT Devel)
+
+
+include(ECMFeatureSummary)
+ecm_feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
+
+kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)
--- /dev/null
+If you add a major new feature, suggest using it in
+https://develop.kde.org/docs/features/configuration/introduction/
+
+kconfigdata_p.h contains definitions of the data formats used by kconfig.
+
+Configuration entries are stored as "KEntry". They are indexed with "KEntryKey".
+The primary store is a "KEntryMap" which is defined as a std::map from "KEntryKey"
+to "KEntry"
+
+KEntry's are stored in order in the KEntryMap. The most significant sort
+criteria is mGroup. This means that all entries who belong in the same group,
+are grouped in the std::map as well.
+
+The start of a group is indicated with a KEntryKey with an empty mKey and a
+dummy KEntry. This allows us to search for the start of the group and then to
+iterate until we end up in another group. That way we will find all entries
+of a certain group.
+
+Entries that are localised with the _current_ locale are stored with bLocal
+set to true. Entries that are localised with another locale are either not
+stored at all (default), or with the localization as part of the key and bRaw
+set to true (when reading a file in order to merge it).
+
+Entries that are being read from a location other than the location to
+which is written back are marked as "default" and will be added both as
+normal entry as well as an entry with the key marked as default.
+
+When the configuration is synced to disk, the current on-disk state is re-read
+into a temporary map, updated with dirty (modified) entries from the
+current config object's entry map and then written back.
+
+
+Note that there is a subtle difference between revertToDefault() and deleteEntry().
+revertToDefault() will change the entry to the default value set by the system
+administrator (Via e.g. $KDEDIR/share/config) or, if no such default was set,
+non-existent.
+deleteEntry() will make the entry non-existent. If if the system administrator
+has specified a default value, the local entry is marked with [$d].
+
+Entries are marked "immutable" if the key is followed by [$i] (e.g. 'key[$i]=value');
+groups are marked "immutable" if the group is followed by [$i] (.e.g '[GroupName][$i]').
+An "immutable" entry/group cannot be overriden by the user.
+
+For more details see docs/options.md.
+
+
+------------------------------------------------------------------------------
+
+KConfig XT
+==========
+
+My buzzword picker offered KConfig XT ("eXtended Technology") and KConfig NG
+("Next Generation"). Since the planned changes are meant to be evolutionary
+rather than revolutionary, KConfig NG was dropped.
+
+Goals
+=====
+
+* Have the default value for config entries defined in 1 place. Currently it is
+not uncommon to have them defined in three places:
+ 1) In the application that reads the setting in order to use it
+ 2) In the settings dialog when reading the setting
+ 3) In the settings dialog when selecting "Use defaults".
+
+* Provide type-information about config entries to facilate "KConfEdit" like
+tools. Ideally type-information also includes range-information; this is even
+mandatory if enums become an explicit type.
+
+* Facilitate the documentation of config entries.
+
+KCoreConfigSkeleton
+ |
+ v
+ KConfigSkeleton /--< myapp.kcfg
+ | /
+ |*---------------<
+ |kconfig_compiler \
+ | \--< myconfig.kcfgc
+ v
+ MyConfig <-----KConfigDialogManager----> MyConfigWidget *---< myconfigwidget.ui
+ uic
+
+KCoreConfigSkeleton/ base class for deriving classes that store application
+KConfigSkeleton: specific options providing type-safety and single-point
+ defaults.
+
+MyConfig: An application specific class that offers configuration options
+ to the applications via variables or accessor functions and that
+ handles type-safety and defaults. MyConfig is just an example
+ name, the application developer choses the actual name.
+
+myapp.kcfg: File describing the configuration options used by a specific
+ application. myapp.kcfg is just an example name, the application
+ developer choses the actual name.
+
+myconfig.kcfgc: Implementation specific code generation instructions
+ for the MyConfig class. myconfig.kcfgc is
+ just an example name, the application developer
+ choses the actual name.
+
+KConfigDialogManager: Class that links widgets in a dialog up with their
+ corresponding configuration options in a configuration
+ object derived from KConfigSkeleton.
+
+MyConfigWidget: Dialog generated from a .ui description file. Widget names
+ in the dialog that start with "kcfg_" refer to configuration
+ options.
+
+See http://techbase.kde.org/Development/Tutorials/Using_KConfig_XT
--- /dev/null
+@PACKAGE_INIT@
+
+# Any changes in this ".cmake" file will be overwritten by CMake, the source is the ".cmake.in" file.
+
+include("${CMAKE_CURRENT_LIST_DIR}/KF6ConfigTargets.cmake")
+@PACKAGE_INCLUDE_QCHTARGETS@
+
+include(CMakeFindDependencyMacro)
+
+if(NOT @BUILD_SHARED_LIBS@)
+ find_dependency(Qt6Xml @REQUIRED_QT_VERSION@)
+endif()
+
+if(@KCONFIG_USE_DBUS@)
+ find_dependency(Qt6DBus "@REQUIRED_QT_VERSION@")
+endif()
+
+if(@KCONFIG_USE_QML@)
+ find_dependency(Qt6Qml "@REQUIRED_QT_VERSION@")
+endif()
+
+if(CMAKE_CROSSCOMPILING AND KF6_HOST_TOOLING)
+ find_file(KCONFIGCOMPILER_PATH KF6Config/KF6ConfigCompilerTargets.cmake
+ PATHS ${KF6_HOST_TOOLING} ${CMAKE_CURRENT_LIST_DIR}
+ NO_DEFAULT_PATH
+ NO_CMAKE_FIND_ROOT_PATH)
+ include("${KCONFIGCOMPILER_PATH}")
+else()
+ include("${CMAKE_CURRENT_LIST_DIR}/KF6ConfigCompilerTargets.cmake")
+endif()
+include("${CMAKE_CURRENT_LIST_DIR}/KF6ConfigMacros.cmake")
--- /dev/null
+# KCONFIG_ADD_KCFG_FILES (SRCS_VAR [GENERATE_MOC] [USE_RELATIVE_PATH] file1.kcfgc ... fileN.kcfgc)
+# KCONFIG_ADD_KCFG_FILES (<target> [GENERATE_MOC] [USE_RELATIVE_PATH] file1.kcfgc ... fileN.kcfgc) (since 5.67)
+# Use this to add KDE config compiler files to your application/library.
+# Use optional GENERATE_MOC to generate moc if you use signals in your kcfg files.
+# Use optional USE_RELATIVE_PATH to generate the classes in the build following the given
+# relative path to the file.
+# <target> must not be an alias.
+#
+# kconfig_target_kcfg_file(<target> FILE <kcfg file> CLASS_NAME <classname> ...)
+# Add a kcfg file to a target without having a kcfgc file. The kcfgc file will
+# be generated from the function arguments. Arguments correspond to the
+# similarly names fields from the kcfgc file.
+#
+# TARGET should be a valid target. FILE is required and should be the name of
+# a kcfg file. CLASS_NAME is required and should be the name of the C++ class
+# that is generated. All the other arguments are optional.
+#
+# Option arguments are:
+# MUTATORS
+# SINGLETON
+# CUSTOM_ADDITIONS
+# NOTIFIERS
+# DEFAULT_VALUE_GETTERS
+# ITEM_ACCESSORS
+# SET_USER_TEXTS
+# GLOBAL_ENUMS
+# USE_ENUM_TYPES
+# FORCE_STRING_FILENAME
+# GENERATE_PROPERTIES
+# PARENT_IN_CONSTRUCTOR
+# GENERATE_MOC
+# QML_REGISTRATION
+# Single value arguments are:
+# FILE
+# CLASS_NAME
+# VISIBILITY
+# HEADER_EXTENSION
+# SOURCE_EXTENSION
+# NAME_SPACE
+# INHERITS
+# MEMBER_VARIABLES
+# TRANSLATION_SYSTEM
+# TRANSLATION_DOMAIN
+# Multi value arguments are:
+# INCLUDE_FILES
+# SOURCE_INCLUDE_FILES
+#
+# SPDX-FileCopyrightText: 2006-2009 Alexander Neundorf <neundorf@kde.org>
+# SPDX-FileCopyrightText: 2006, 2007, Laurent Montel <montel@kde.org>
+# SPDX-FileCopyrightText: 2007 Matthias Kretz <kretz@kde.org>
+#
+# SPDX-License-Identifier: BSD-3-Clause
+
+include(CMakeParseArguments)
+
+function(KCONFIG_ADD_KCFG_FILES _target_or_source_var)
+ set(options GENERATE_MOC USE_RELATIVE_PATH)
+ cmake_parse_arguments(ARG "${options}" "" "" ${ARGN})
+
+ if(TARGET ${_target_or_source_var})
+ get_target_property(aliased_target ${_target_or_source_var} ALIASED_TARGET)
+ if(aliased_target)
+ message(FATAL_ERROR "Target argument passed to kconfig_add_kcfg_files must not be an alias: ${_target_or_source_var}")
+ endif()
+ endif()
+
+ set(sources)
+ foreach(_current_FILE ${ARG_UNPARSED_ARGUMENTS})
+ get_filename_component(_tmp_FILE ${_current_FILE} ABSOLUTE)
+ get_filename_component(_abs_PATH ${_tmp_FILE} PATH)
+
+ if(ARG_USE_RELATIVE_PATH) # Process relative path only if the option was set
+ # Get relative path
+ get_filename_component(_rel_PATH ${_current_FILE} PATH)
+
+ if(IS_ABSOLUTE ${_rel_PATH})
+ # We got an absolute path
+ set(_rel_PATH "")
+ endif()
+ endif()
+
+ get_filename_component(_basename ${_tmp_FILE} NAME_WE)
+ # If we had a relative path and we're asked to use it, then change the basename accordingly
+ if(_rel_PATH)
+ set(_basename ${_rel_PATH}/${_basename})
+ endif()
+
+ # if the file name in the kcfgc is changed, we need to rerun cmake
+ set_property(DIRECTORY APPEND
+ PROPERTY CMAKE_CONFIGURE_DEPENDS ${_tmp_FILE}
+ )
+
+ file(READ ${_tmp_FILE} _contents)
+ string(REGEX MATCH "File=([^\n]+\\.kcfg)\n" "" "${_contents}")
+ set(_kcfg_FILENAME "${CMAKE_MATCH_1}")
+ if(NOT _kcfg_FILENAME)
+ string(REGEX MATCH "File=([^\n]+\\.kcfg).*\n" "" "${_contents}")
+ if(CMAKE_MATCH_1)
+ message(WARNING "${_tmp_FILE}: Broken \"File\" field, make sure it's pointing at the right file")
+ set(_kcfg_FILENAME "${CMAKE_MATCH_1}")
+ else()
+ message(WARNING "Couldn't read the \"File\" field in ${_tmp_FILE}")
+ set(_kcfg_FILENAME "${_basename}.kcfg")
+ endif()
+ endif()
+
+ string(REGEX MATCH "HeaderExtension=([^\n]+)\n" "" "${_contents}")
+ if(CMAKE_MATCH_1)
+ set(_kcfg_header_EXT "${CMAKE_MATCH_1}")
+ else()
+ set(_kcfg_header_EXT "h")
+ endif()
+
+ set(_src_FILE ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp)
+ set(_header_FILE ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.${_kcfg_header_EXT})
+ set(_moc_FILE ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc)
+ set(_kcfg_FILE ${_abs_PATH}/${_kcfg_FILENAME})
+ # Maybe the .kcfg is a generated file?
+ if(NOT EXISTS "${_kcfg_FILE}")
+ set(_kcfg_FILE ${CMAKE_CURRENT_BINARY_DIR}/${_kcfg_FILENAME})
+ endif()
+
+ if(NOT EXISTS "${_kcfg_FILE}")
+ message(FATAL_ERROR "${_kcfg_FILENAME} not found; tried in ${_abs_PATH} and ${CMAKE_CURRENT_BINARY_DIR}")
+ endif()
+
+ # make sure the directory exist in the build directory
+ if(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/${_rel_PATH}")
+ file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_rel_PATH})
+ endif()
+
+ # the command for creating the source file from the kcfg file
+ add_custom_command(OUTPUT ${_header_FILE} ${_src_FILE}
+ COMMAND KF6::kconfig_compiler
+ ARGS ${_kcfg_FILE} ${_tmp_FILE} -d ${CMAKE_CURRENT_BINARY_DIR}/${_rel_PATH}
+ MAIN_DEPENDENCY ${_tmp_FILE}
+ DEPENDS ${_kcfg_FILE} KF6::kconfig_compiler)
+
+ set_source_files_properties(${_header_FILE} ${_src_FILE} PROPERTIES
+ SKIP_AUTOUIC ON
+ )
+
+ if(NOT ARG_GENERATE_MOC)
+ set_source_files_properties(${_header_FILE} ${_src_FILE} PROPERTIES
+ SKIP_AUTOMOC ON
+ )
+ endif()
+
+ list(APPEND sources ${_src_FILE} ${_header_FILE})
+ endforeach(_current_FILE)
+
+ if(TARGET ${_target_or_source_var})
+ target_sources(${_target_or_source_var} PRIVATE ${sources})
+ else()
+ set(${_target_or_source_var} ${${_target_or_source_var}} ${sources} PARENT_SCOPE)
+ endif()
+
+endfunction(KCONFIG_ADD_KCFG_FILES)
+
+function(_convert_to_camelcase ARG_INPUT ARG_OUTPUT)
+ string(TOLOWER "${ARG_INPUT}" _input_lc)
+ string(REPLACE "_" ";" _input_parts "${_input_lc}")
+ set(_result "")
+ foreach(_part ${_input_parts})
+ string(SUBSTRING "${_part}" 0 1 _first)
+ string(TOUPPER "${_first}" _first_uc)
+ string(APPEND _result "${_first_uc}")
+ string(SUBSTRING "${_part}" 1 -1 _rest)
+ string(APPEND _result "${_rest}")
+ endforeach()
+ set(${ARG_OUTPUT} "${_result}" PARENT_SCOPE)
+endfunction()
+
+function(kconfig_target_kcfg_file ARG_TARGET)
+ set(_options
+ MUTATORS
+ SINGLETON
+ CUSTOM_ADDITIONS
+ NOTIFIERS
+ DEFAULT_VALUE_GETTERS
+ ITEM_ACCESSORS
+ SET_USER_TEXTS
+ GLOBAL_ENUMS
+ USE_ENUM_TYPES
+ FORCE_STRING_FILENAME
+ GENERATE_PROPERTIES
+ PARENT_IN_CONSTRUCTOR
+ GENERATE_MOC
+ QML_REGISTRATION
+ )
+ set(_single_arguments
+ FILE
+ CLASS_NAME
+ VISIBILITY
+ HEADER_EXTENSION
+ SOURCE_EXTENSION
+ NAME_SPACE
+ INHERITS
+ MEMBER_VARIABLES
+ TRANSLATION_SYSTEM
+ TRANSLATION_DOMAIN
+ )
+ set(_multi_arguments
+ INCLUDE_FILES
+ SOURCE_INCLUDE_FILES
+ )
+ cmake_parse_arguments(PARSE_ARGV 1 ARG "${_options}" "${_single_arguments}" "${_multi_arguments}")
+
+ if(NOT TARGET ${ARG_TARGET})
+ message(FATAL_ERROR "${ARG_TARGET} not found")
+ endif()
+
+ if(NOT EXISTS "${ARG_FILE}" AND NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${ARG_FILE}")
+ message(FATAL_ERROR "${ARG_FILE} not found")
+ endif()
+
+ if("${ARG_CLASS_NAME}" STREQUAL "")
+ message(FATAL_ERROR "CLASS_NAME is a required argument")
+ endif()
+
+ set(_filepath "${ARG_FILE}")
+ get_filename_component(_filename ${ARG_FILE} NAME)
+ if(IS_ABSOLUTE ${ARG_FILE})
+ set(ARG_FILE ${_filename})
+ endif()
+
+ set(_content "")
+
+ foreach(_option ${_options})
+ if("${_option}" STREQUAL "GENERATE_MOC")
+ continue()
+ endif()
+
+ _convert_to_camelcase("${_option}" _entry)
+ if(ARG_${_option})
+ string(APPEND _content "${_entry}=true\n")
+ endif()
+ endforeach()
+
+ foreach(_argument ${_single_arguments})
+ _convert_to_camelcase("${_argument}" _entry)
+ if(ARG_${_argument})
+ string(APPEND _content "${_entry}=${ARG_${_argument}}\n")
+ endif()
+ endforeach()
+
+ foreach(_argument ${_multi_arguments})
+ _convert_to_camelcase("${_argument}" _entry)
+ if(ARG_${_argument})
+ list(JOIN ARG_${_argument} ", " _joined)
+ string(APPEND _content "${_entry}=${_joined}\n")
+ endif()
+ endforeach()
+
+ get_filename_component(_basename ${_filepath} NAME_WE)
+ set(_output "${CMAKE_CURRENT_BINARY_DIR}/${_basename}.kcfgc")
+ file(WRITE ${_output} "${_content}")
+
+ configure_file(${_filepath} "${CMAKE_CURRENT_BINARY_DIR}/${_filename}" COPYONLY)
+
+ if(${ARG_GENERATE_MOC})
+ KCONFIG_ADD_KCFG_FILES(${ARG_TARGET} ${_output} GENERATE_MOC)
+ else()
+ KCONFIG_ADD_KCFG_FILES(${ARG_TARGET} ${_output})
+ endif()
+endfunction()
--- /dev/null
+Copyright (c) <year> <owner>. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice,
+this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--- /dev/null
+Copyright (c) <year> <owner>. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice,
+this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holder nor the names of its contributors
+may be used to endorse or promote products derived from this software without
+specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--- /dev/null
+Creative Commons Legal Code
+
+CC0 1.0 Universal
+
+ CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
+ LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
+ ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
+ INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
+ REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
+ PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
+ THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
+ HEREUNDER.
+
+Statement of Purpose
+
+The laws of most jurisdictions throughout the world automatically confer
+exclusive Copyright and Related Rights (defined below) upon the creator
+and subsequent owner(s) (each and all, an "owner") of an original work of
+authorship and/or a database (each, a "Work").
+
+Certain owners wish to permanently relinquish those rights to a Work for
+the purpose of contributing to a commons of creative, cultural and
+scientific works ("Commons") that the public can reliably and without fear
+of later claims of infringement build upon, modify, incorporate in other
+works, reuse and redistribute as freely as possible in any form whatsoever
+and for any purposes, including without limitation commercial purposes.
+These owners may contribute to the Commons to promote the ideal of a free
+culture and the further production of creative, cultural and scientific
+works, or to gain reputation or greater distribution for their Work in
+part through the use and efforts of others.
+
+For these and/or other purposes and motivations, and without any
+expectation of additional consideration or compensation, the person
+associating CC0 with a Work (the "Affirmer"), to the extent that he or she
+is an owner of Copyright and Related Rights in the Work, voluntarily
+elects to apply CC0 to the Work and publicly distribute the Work under its
+terms, with knowledge of his or her Copyright and Related Rights in the
+Work and the meaning and intended legal effect of CC0 on those rights.
+
+1. Copyright and Related Rights. A Work made available under CC0 may be
+protected by copyright and related or neighboring rights ("Copyright and
+Related Rights"). Copyright and Related Rights include, but are not
+limited to, the following:
+
+ i. the right to reproduce, adapt, distribute, perform, display,
+ communicate, and translate a Work;
+ ii. moral rights retained by the original author(s) and/or performer(s);
+iii. publicity and privacy rights pertaining to a person's image or
+ likeness depicted in a Work;
+ iv. rights protecting against unfair competition in regards to a Work,
+ subject to the limitations in paragraph 4(a), below;
+ v. rights protecting the extraction, dissemination, use and reuse of data
+ in a Work;
+ vi. database rights (such as those arising under Directive 96/9/EC of the
+ European Parliament and of the Council of 11 March 1996 on the legal
+ protection of databases, and under any national implementation
+ thereof, including any amended or successor version of such
+ directive); and
+vii. other similar, equivalent or corresponding rights throughout the
+ world based on applicable law or treaty, and any national
+ implementations thereof.
+
+2. Waiver. To the greatest extent permitted by, but not in contravention
+of, applicable law, Affirmer hereby overtly, fully, permanently,
+irrevocably and unconditionally waives, abandons, and surrenders all of
+Affirmer's Copyright and Related Rights and associated claims and causes
+of action, whether now known or unknown (including existing as well as
+future claims and causes of action), in the Work (i) in all territories
+worldwide, (ii) for the maximum duration provided by applicable law or
+treaty (including future time extensions), (iii) in any current or future
+medium and for any number of copies, and (iv) for any purpose whatsoever,
+including without limitation commercial, advertising or promotional
+purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
+member of the public at large and to the detriment of Affirmer's heirs and
+successors, fully intending that such Waiver shall not be subject to
+revocation, rescission, cancellation, termination, or any other legal or
+equitable action to disrupt the quiet enjoyment of the Work by the public
+as contemplated by Affirmer's express Statement of Purpose.
+
+3. Public License Fallback. Should any part of the Waiver for any reason
+be judged legally invalid or ineffective under applicable law, then the
+Waiver shall be preserved to the maximum extent permitted taking into
+account Affirmer's express Statement of Purpose. In addition, to the
+extent the Waiver is so judged Affirmer hereby grants to each affected
+person a royalty-free, non transferable, non sublicensable, non exclusive,
+irrevocable and unconditional license to exercise Affirmer's Copyright and
+Related Rights in the Work (i) in all territories worldwide, (ii) for the
+maximum duration provided by applicable law or treaty (including future
+time extensions), (iii) in any current or future medium and for any number
+of copies, and (iv) for any purpose whatsoever, including without
+limitation commercial, advertising or promotional purposes (the
+"License"). The License shall be deemed effective as of the date CC0 was
+applied by Affirmer to the Work. Should any part of the License for any
+reason be judged legally invalid or ineffective under applicable law, such
+partial invalidity or ineffectiveness shall not invalidate the remainder
+of the License, and in such case Affirmer hereby affirms that he or she
+will not (i) exercise any of his or her remaining Copyright and Related
+Rights in the Work or (ii) assert any associated claims and causes of
+action with respect to the Work, in either case contrary to Affirmer's
+express Statement of Purpose.
+
+4. Limitations and Disclaimers.
+
+ a. No trademark or patent rights held by Affirmer are waived, abandoned,
+ surrendered, licensed or otherwise affected by this document.
+ b. Affirmer offers the Work as-is and makes no representations or
+ warranties of any kind concerning the Work, express, implied,
+ statutory or otherwise, including without limitation warranties of
+ title, merchantability, fitness for a particular purpose, non
+ infringement, or the absence of latent or other defects, accuracy, or
+ the present or absence of errors, whether or not discoverable, all to
+ the greatest extent permissible under applicable law.
+ c. Affirmer disclaims responsibility for clearing rights of other persons
+ that may apply to the Work or any use thereof, including without
+ limitation any person's Copyright and Related Rights in the Work.
+ Further, Affirmer disclaims responsibility for obtaining any necessary
+ consents, permissions or other rights required for any use of the
+ Work.
+ d. Affirmer understands and acknowledges that Creative Commons is not a
+ party to this document and has no duty or obligation with respect to
+ this CC0 or use of the Work.
--- /dev/null
+GNU GENERAL PUBLIC LICENSE
+
+Version 2, June 1991
+
+Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license
+document, but changing it is not allowed.
+
+Preamble
+
+The licenses for most software are designed to take away your freedom to share
+and change it. By contrast, the GNU General Public License is intended to
+guarantee your freedom to share and change free software--to make sure the
+software is free for all its users. This General Public License applies to
+most of the Free Software Foundation's software and to any other program whose
+authors commit to using it. (Some other Free Software Foundation software
+is covered by the GNU Lesser General Public License instead.) You can apply
+it to your programs, too.
+
+When we speak of free software, we are referring to freedom, not price. Our
+General Public Licenses are designed to make sure that you have the freedom
+to distribute copies of free software (and charge for this service if you
+wish), that you receive source code or can get it if you want it, that you
+can change the software or use pieces of it in new free programs; and that
+you know you can do these things.
+
+To protect your rights, we need to make restrictions that forbid anyone to
+deny you these rights or to ask you to surrender the rights. These restrictions
+translate to certain responsibilities for you if you distribute copies of
+the software, or if you modify it.
+
+For example, if you distribute copies of such a program, whether gratis or
+for a fee, you must give the recipients all the rights that you have. You
+must make sure that they, too, receive or can get the source code. And you
+must show them these terms so they know their rights.
+
+We protect your rights with two steps: (1) copyright the software, and (2)
+offer you this license which gives you legal permission to copy, distribute
+and/or modify the software.
+
+Also, for each author's protection and ours, we want to make certain that
+everyone understands that there is no warranty for this free software. If
+the software is modified by someone else and passed on, we want its recipients
+to know that what they have is not the original, so that any problems introduced
+by others will not reflect on the original authors' reputations.
+
+Finally, any free program is threatened constantly by software patents. We
+wish to avoid the danger that redistributors of a free program will individually
+obtain patent licenses, in effect making the program proprietary. To prevent
+this, we have made it clear that any patent must be licensed for everyone's
+free use or not licensed at all.
+
+The precise terms and conditions for copying, distribution and modification
+follow.
+
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+0. This License applies to any program or other work which contains a notice
+placed by the copyright holder saying it may be distributed under the terms
+of this General Public License. The "Program", below, refers to any such program
+or work, and a "work based on the Program" means either the Program or any
+derivative work under copyright law: that is to say, a work containing the
+Program or a portion of it, either verbatim or with modifications and/or translated
+into another language. (Hereinafter, translation is included without limitation
+in the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not covered
+by this License; they are outside its scope. The act of running the Program
+is not restricted, and the output from the Program is covered only if its
+contents constitute a work based on the Program (independent of having been
+made by running the Program). Whether that is true depends on what the Program
+does.
+
+1. You may copy and distribute verbatim copies of the Program's source code
+as you receive it, in any medium, provided that you conspicuously and appropriately
+publish on each copy an appropriate copyright notice and disclaimer of warranty;
+keep intact all the notices that refer to this License and to the absence
+of any warranty; and give any other recipients of the Program a copy of this
+License along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and you
+may at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Program or any portion of it,
+thus forming a work based on the Program, and copy and distribute such modifications
+or work under the terms of Section 1 above, provided that you also meet all
+of these conditions:
+
+a) You must cause the modified files to carry prominent notices stating that
+you changed the files and the date of any change.
+
+b) You must cause any work that you distribute or publish, that in whole or
+in part contains or is derived from the Program or any part thereof, to be
+licensed as a whole at no charge to all third parties under the terms of this
+License.
+
+c) If the modified program normally reads commands interactively when run,
+you must cause it, when started running for such interactive use in the most
+ordinary way, to print or display an announcement including an appropriate
+copyright notice and a notice that there is no warranty (or else, saying that
+you provide a warranty) and that users may redistribute the program under
+these conditions, and telling the user how to view a copy of this License.
+(Exception: if the Program itself is interactive but does not normally print
+such an announcement, your work based on the Program is not required to print
+an announcement.)
+
+These requirements apply to the modified work as a whole. If identifiable
+sections of that work are not derived from the Program, and can be reasonably
+considered independent and separate works in themselves, then this License,
+and its terms, do not apply to those sections when you distribute them as
+separate works. But when you distribute the same sections as part of a whole
+which is a work based on the Program, the distribution of the whole must be
+on the terms of this License, whose permissions for other licensees extend
+to the entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest your
+rights to work written entirely by you; rather, the intent is to exercise
+the right to control the distribution of derivative or collective works based
+on the Program.
+
+In addition, mere aggregation of another work not based on the Program with
+the Program (or with a work based on the Program) on a volume of a storage
+or distribution medium does not bring the other work under the scope of this
+License.
+
+3. You may copy and distribute the Program (or a work based on it, under Section
+2) in object code or executable form under the terms of Sections 1 and 2 above
+provided that you also do one of the following:
+
+a) Accompany it with the complete corresponding machine-readable source code,
+which must be distributed under the terms of Sections 1 and 2 above on a medium
+customarily used for software interchange; or,
+
+b) Accompany it with a written offer, valid for at least three years, to give
+any third party, for a charge no more than your cost of physically performing
+source distribution, a complete machine-readable copy of the corresponding
+source code, to be distributed under the terms of Sections 1 and 2 above on
+a medium customarily used for software interchange; or,
+
+c) Accompany it with the information you received as to the offer to distribute
+corresponding source code. (This alternative is allowed only for noncommercial
+distribution and only if you received the program in object code or executable
+form with such an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for making
+modifications to it. For an executable work, complete source code means all
+the source code for all modules it contains, plus any associated interface
+definition files, plus the scripts used to control compilation and installation
+of the executable. However, as a special exception, the source code distributed
+need not include anything that is normally distributed (in either source or
+binary form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component itself
+accompanies the executable.
+
+If distribution of executable or object code is made by offering access to
+copy from a designated place, then offering equivalent access to copy the
+source code from the same place counts as distribution of the source code,
+even though third parties are not compelled to copy the source along with
+the object code.
+
+4. You may not copy, modify, sublicense, or distribute the Program except
+as expressly provided under this License. Any attempt otherwise to copy, modify,
+sublicense or distribute the Program is void, and will automatically terminate
+your rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses terminated
+so long as such parties remain in full compliance.
+
+5. You are not required to accept this License, since you have not signed
+it. However, nothing else grants you permission to modify or distribute the
+Program or its derivative works. These actions are prohibited by law if you
+do not accept this License. Therefore, by modifying or distributing the Program
+(or any work based on the Program), you indicate your acceptance of this License
+to do so, and all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+6. Each time you redistribute the Program (or any work based on the Program),
+the recipient automatically receives a license from the original licensor
+to copy, distribute or modify the Program subject to these terms and conditions.
+You may not impose any further restrictions on the recipients' exercise of
+the rights granted herein. You are not responsible for enforcing compliance
+by third parties to this License.
+
+7. If, as a consequence of a court judgment or allegation of patent infringement
+or for any other reason (not limited to patent issues), conditions are imposed
+on you (whether by court order, agreement or otherwise) that contradict the
+conditions of this License, they do not excuse you from the conditions of
+this License. If you cannot distribute so as to satisfy simultaneously your
+obligations under this License and any other pertinent obligations, then as
+a consequence you may not distribute the Program at all. For example, if a
+patent license would not permit royalty-free redistribution of the Program
+by all those who receive copies directly or indirectly through you, then the
+only way you could satisfy both it and this License would be to refrain entirely
+from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply and
+the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents
+or other property right claims or to contest validity of any such claims;
+this section has the sole purpose of protecting the integrity of the free
+software distribution system, which is implemented by public license practices.
+Many people have made generous contributions to the wide range of software
+distributed through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing to
+distribute software through any other system and a licensee cannot impose
+that choice.
+
+This section is intended to make thoroughly clear what is believed to be a
+consequence of the rest of this License.
+
+8. If the distribution and/or use of the Program is restricted in certain
+countries either by patents or by copyrighted interfaces, the original copyright
+holder who places the Program under this License may add an explicit geographical
+distribution limitation excluding those countries, so that distribution is
+permitted only in or among countries not thus excluded. In such case, this
+License incorporates the limitation as if written in the body of this License.
+
+9. The Free Software Foundation may publish revised and/or new versions of
+the General Public License from time to time. Such new versions will be similar
+in spirit to the present version, but may differ in detail to address new
+problems or concerns.
+
+Each version is given a distinguishing version number. If the Program specifies
+a version number of this License which applies to it and "any later version",
+you have the option of following the terms and conditions either of that version
+or of any later version published by the Free Software Foundation. If the
+Program does not specify a version number of this License, you may choose
+any version ever published by the Free Software Foundation.
+
+10. If you wish to incorporate parts of the Program into other free programs
+whose distribution conditions are different, write to the author to ask for
+permission. For software which is copyrighted by the Free Software Foundation,
+write to the Free Software Foundation; we sometimes make exceptions for this.
+Our decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing and reuse
+of software generally.
+
+ NO WARRANTY
+
+11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
+THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
+STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM
+"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
+OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE
+OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA
+OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES
+OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH
+HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+END OF TERMS AND CONDITIONS
+
+How to Apply These Terms to Your New Programs
+
+If you develop a new program, and you want it to be of the greatest possible
+use to the public, the best way to achieve this is to make it free software
+which everyone can redistribute and change under these terms.
+
+To do so, attach the following notices to the program. It is safest to attach
+them to the start of each source file to most effectively convey the exclusion
+of warranty; and each file should have at least the "copyright" line and a
+pointer to where the full notice is found.
+
+<one line to give the program's name and an idea of what it does.>
+
+Copyright (C) <yyyy> <name of author>
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
+Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this when
+it starts in an interactive mode:
+
+Gnomovision version 69, Copyright (C) year name of author Gnomovision comes
+with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software,
+and you are welcome to redistribute it under certain conditions; type `show
+c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may be
+called something other than `show w' and `show c'; they could even be mouse-clicks
+or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your school,
+if any, to sign a "copyright disclaimer" for the program, if necessary. Here
+is a sample; alter the names:
+
+Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision'
+(which makes passes at compilers) written by James Hacker.
+
+<signature of Ty Coon>, 1 April 1989 Ty Coon, President of Vice This General
+Public License does not permit incorporating your program into proprietary
+programs. If your program is a subroutine library, you may consider it more
+useful to permit linking proprietary applications with the library. If this
+is what you want to do, use the GNU Lesser General Public License instead
+of this License.
--- /dev/null
+GNU LIBRARY GENERAL PUBLIC LICENSE
+
+Version 2, June 1991 Copyright (C) 1991 Free Software Foundation, Inc.
+
+51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license
+document, but changing it is not allowed.
+
+[This is the first released version of the library GPL. It is numbered 2 because
+it goes with version 2 of the ordinary GPL.]
+
+Preamble
+
+The licenses for most software are designed to take away your freedom to share
+and change it. By contrast, the GNU General Public Licenses are intended to
+guarantee your freedom to share and change free software--to make sure the
+software is free for all its users.
+
+This license, the Library General Public License, applies to some specially
+designated Free Software Foundation software, and to any other libraries whose
+authors decide to use it. You can use it for your libraries, too.
+
+When we speak of free software, we are referring to freedom, not price. Our
+General Public Licenses are designed to make sure that you have the freedom
+to distribute copies of free software (and charge for this service if you
+wish), that you receive source code or can get it if you want it, that you
+can change the software or use pieces of it in new free programs; and that
+you know you can do these things.
+
+To protect your rights, we need to make restrictions that forbid anyone to
+deny you these rights or to ask you to surrender the rights. These restrictions
+translate to certain responsibilities for you if you distribute copies of
+the library, or if you modify it.
+
+For example, if you distribute copies of the library, whether gratis or for
+a fee, you must give the recipients all the rights that we gave you. You must
+make sure that they, too, receive or can get the source code. If you link
+a program with the library, you must provide complete object files to the
+recipients so that they can relink them with the library, after making changes
+to the library and recompiling it. And you must show them these terms so they
+know their rights.
+
+Our method of protecting your rights has two steps: (1) copyright the library,
+and (2) offer you this license which gives you legal permission to copy, distribute
+and/or modify the library.
+
+Also, for each distributor's protection, we want to make certain that everyone
+understands that there is no warranty for this free library. If the library
+is modified by someone else and passed on, we want its recipients to know
+that what they have is not the original version, so that any problems introduced
+by others will not reflect on the original authors' reputations.
+
+Finally, any free program is threatened constantly by software patents. We
+wish to avoid the danger that companies distributing free software will individually
+obtain patent licenses, thus in effect transforming the program into proprietary
+software. To prevent this, we have made it clear that any patent must be licensed
+for everyone's free use or not licensed at all.
+
+Most GNU software, including some libraries, is covered by the ordinary GNU
+General Public License, which was designed for utility programs. This license,
+the GNU Library General Public License, applies to certain designated libraries.
+This license is quite different from the ordinary one; be sure to read it
+in full, and don't assume that anything in it is the same as in the ordinary
+license.
+
+The reason we have a separate public license for some libraries is that they
+blur the distinction we usually make between modifying or adding to a program
+and simply using it. Linking a program with a library, without changing the
+library, is in some sense simply using the library, and is analogous to running
+a utility program or application program. However, in a textual and legal
+sense, the linked executable is a combined work, a derivative of the original
+library, and the ordinary General Public License treats it as such.
+
+Because of this blurred distinction, using the ordinary General Public License
+for libraries did not effectively promote software sharing, because most developers
+did not use the libraries. We concluded that weaker conditions might promote
+sharing better.
+
+However, unrestricted linking of non-free programs would deprive the users
+of those programs of all benefit from the free status of the libraries themselves.
+This Library General Public License is intended to permit developers of non-free
+programs to use free libraries, while preserving your freedom as a user of
+such programs to change the free libraries that are incorporated in them.
+(We have not seen how to achieve this as regards changes in header files,
+but we have achieved it as regards changes in the actual functions of the
+Library.) The hope is that this will lead to faster development of free libraries.
+
+The precise terms and conditions for copying, distribution and modification
+follow. Pay close attention to the difference between a "work based on the
+library" and a "work that uses the library". The former contains code derived
+from the library, while the latter only works together with the library.
+
+Note that it is possible for a library to be covered by the ordinary General
+Public License rather than by this special one.
+
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+0. This License Agreement applies to any software library which contains a
+notice placed by the copyright holder or other authorized party saying it
+may be distributed under the terms of this Library General Public License
+(also called "this License"). Each licensee is addressed as "you".
+
+A "library" means a collection of software functions and/or data prepared
+so as to be conveniently linked with application programs (which use some
+of those functions and data) to form executables.
+
+The "Library", below, refers to any such software library or work which has
+been distributed under these terms. A "work based on the Library" means either
+the Library or any derivative work under copyright law: that is to say, a
+work containing the Library or a portion of it, either verbatim or with modifications
+and/or translated straightforwardly into another language. (Hereinafter, translation
+is included without limitation in the term "modification".)
+
+"Source code" for a work means the preferred form of the work for making modifications
+to it. For a library, complete source code means all the source code for all
+modules it contains, plus any associated interface definition files, plus
+the scripts used to control compilation and installation of the library.
+
+Activities other than copying, distribution and modification are not covered
+by this License; they are outside its scope. The act of running a program
+using the Library is not restricted, and output from such a program is covered
+only if its contents constitute a work based on the Library (independent of
+the use of the Library in a tool for writing it). Whether that is true depends
+on what the Library does and what the program that uses the Library does.
+
+1. You may copy and distribute verbatim copies of the Library's complete source
+code as you receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice and disclaimer
+of warranty; keep intact all the notices that refer to this License and to
+the absence of any warranty; and distribute a copy of this License along with
+the Library.
+
+You may charge a fee for the physical act of transferring a copy, and you
+may at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Library or any portion of it,
+thus forming a work based on the Library, and copy and distribute such modifications
+or work under the terms of Section 1 above, provided that you also meet all
+of these conditions:
+
+ a) The modified work must itself be a software library.
+
+b) You must cause the files modified to carry prominent notices stating that
+you changed the files and the date of any change.
+
+c) You must cause the whole of the work to be licensed at no charge to all
+third parties under the terms of this License.
+
+d) If a facility in the modified Library refers to a function or a table of
+data to be supplied by an application program that uses the facility, other
+than as an argument passed when the facility is invoked, then you must make
+a good faith effort to ensure that, in the event an application does not supply
+such function or table, the facility still operates, and performs whatever
+part of its purpose remains meaningful.
+
+(For example, a function in a library to compute square roots has a purpose
+that is entirely well-defined independent of the application. Therefore, Subsection
+2d requires that any application-supplied function or table used by this function
+must be optional: if the application does not supply it, the square root function
+must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If identifiable
+sections of that work are not derived from the Library, and can be reasonably
+considered independent and separate works in themselves, then this License,
+and its terms, do not apply to those sections when you distribute them as
+separate works. But when you distribute the same sections as part of a whole
+which is a work based on the Library, the distribution of the whole must be
+on the terms of this License, whose permissions for other licensees extend
+to the entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest your
+rights to work written entirely by you; rather, the intent is to exercise
+the right to control the distribution of derivative or collective works based
+on the Library.
+
+In addition, mere aggregation of another work not based on the Library with
+the Library (or with a work based on the Library) on a volume of a storage
+or distribution medium does not bring the other work under the scope of this
+License.
+
+3. You may opt to apply the terms of the ordinary GNU General Public License
+instead of this License to a given copy of the Library. To do this, you must
+alter all the notices that refer to this License, so that they refer to the
+ordinary GNU General Public License, version 2, instead of to this License.
+(If a newer version than version 2 of the ordinary GNU General Public License
+has appeared, then you can specify that version instead if you wish.) Do not
+make any other change in these notices.
+
+Once this change is made in a given copy, it is irreversible for that copy,
+so the ordinary GNU General Public License applies to all subsequent copies
+and derivative works made from that copy.
+
+This option is useful when you wish to copy part of the code of the Library
+into a program that is not a library.
+
+4. You may copy and distribute the Library (or a portion or derivative of
+it, under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you accompany it with the complete corresponding
+machine-readable source code, which must be distributed under the terms of
+Sections 1 and 2 above on a medium customarily used for software interchange.
+
+If distribution of object code is made by offering access to copy from a designated
+place, then offering equivalent access to copy the source code from the same
+place satisfies the requirement to distribute the source code, even though
+third parties are not compelled to copy the source along with the object code.
+
+5. A program that contains no derivative of any portion of the Library, but
+is designed to work with the Library by being compiled or linked with it,
+is called a "work that uses the Library". Such a work, in isolation, is not
+a derivative work of the Library, and therefore falls outside the scope of
+this License.
+
+However, linking a "work that uses the Library" with the Library creates an
+executable that is a derivative of the Library (because it contains portions
+of the Library), rather than a "work that uses the library". The executable
+is therefore covered by this License. Section 6 states terms for distribution
+of such executables.
+
+When a "work that uses the Library" uses material from a header file that
+is part of the Library, the object code for the work may be a derivative work
+of the Library even though the source code is not. Whether this is true is
+especially significant if the work can be linked without the Library, or if
+the work is itself a library. The threshold for this to be true is not precisely
+defined by law.
+
+If such an object file uses only numerical parameters, data structure layouts
+and accessors, and small macros and small inline functions (ten lines or less
+in length), then the use of the object file is unrestricted, regardless of
+whether it is legally a derivative work. (Executables containing this object
+code plus portions of the Library will still fall under Section 6.)
+
+Otherwise, if the work is a derivative of the Library, you may distribute
+the object code for the work under the terms of Section 6. Any executables
+containing that work also fall under Section 6, whether or not they are linked
+directly with the Library itself.
+
+6. As an exception to the Sections above, you may also compile or link a "work
+that uses the Library" with the Library to produce a work containing portions
+of the Library, and distribute that work under terms of your choice, provided
+that the terms permit modification of the work for the customer's own use
+and reverse engineering for debugging such modifications.
+
+You must give prominent notice with each copy of the work that the Library
+is used in it and that the Library and its use are covered by this License.
+You must supply a copy of this License. If the work during execution displays
+copyright notices, you must include the copyright notice for the Library among
+them, as well as a reference directing the user to the copy of this License.
+Also, you must do one of these things:
+
+a) Accompany the work with the complete corresponding machine-readable source
+code for the Library including whatever changes were used in the work (which
+must be distributed under Sections 1 and 2 above); and, if the work is an
+executable linked with the Library, with the complete machine-readable "work
+that uses the Library", as object code and/or source code, so that the user
+can modify the Library and then relink to produce a modified executable containing
+the modified Library. (It is understood that the user who changes the contents
+of definitions files in the Library will not necessarily be able to recompile
+the application to use the modified definitions.)
+
+b) Accompany the work with a written offer, valid for at least three years,
+to give the same user the materials specified in Subsection 6a, above, for
+a charge no more than the cost of performing this distribution.
+
+c) If distribution of the work is made by offering access to copy from a designated
+place, offer equivalent access to copy the above specified materials from
+the same place.
+
+d) Verify that the user has already received a copy of these materials or
+that you have already sent this user a copy.
+
+For an executable, the required form of the "work that uses the Library" must
+include any data and utility programs needed for reproducing the executable
+from it. However, as a special exception, the source code distributed need
+not include anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the operating
+system on which the executable runs, unless that component itself accompanies
+the executable.
+
+It may happen that this requirement contradicts the license restrictions of
+other proprietary libraries that do not normally accompany the operating system.
+Such a contradiction means you cannot use both them and the Library together
+in an executable that you distribute.
+
+7. You may place library facilities that are a work based on the Library side-by-side
+in a single library together with other library facilities not covered by
+this License, and distribute such a combined library, provided that the separate
+distribution of the work based on the Library and of the other library facilities
+is otherwise permitted, and provided that you do these two things:
+
+a) Accompany the combined library with a copy of the same work based on the
+Library, uncombined with any other library facilities. This must be distributed
+under the terms of the Sections above.
+
+b) Give prominent notice with the combined library of the fact that part of
+it is a work based on the Library, and explaining where to find the accompanying
+uncombined form of the same work.
+
+8. You may not copy, modify, sublicense, link with, or distribute the Library
+except as expressly provided under this License. Any attempt otherwise to
+copy, modify, sublicense, link with, or distribute the Library is void, and
+will automatically terminate your rights under this License. However, parties
+who have received copies, or rights, from you under this License will not
+have their licenses terminated so long as such parties remain in full compliance.
+
+9. You are not required to accept this License, since you have not signed
+it. However, nothing else grants you permission to modify or distribute the
+Library or its derivative works. These actions are prohibited by law if you
+do not accept this License. Therefore, by modifying or distributing the Library
+(or any work based on the Library), you indicate your acceptance of this License
+to do so, and all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+10. Each time you redistribute the Library (or any work based on the Library),
+the recipient automatically receives a license from the original licensor
+to copy, distribute, link with or modify the Library subject to these terms
+and conditions. You may not impose any further restrictions on the recipients'
+exercise of the rights granted herein. You are not responsible for enforcing
+compliance by third parties to this License.
+
+11. If, as a consequence of a court judgment or allegation of patent infringement
+or for any other reason (not limited to patent issues), conditions are imposed
+on you (whether by court order, agreement or otherwise) that contradict the
+conditions of this License, they do not excuse you from the conditions of
+this License. If you cannot distribute so as to satisfy simultaneously your
+obligations under this License and any other pertinent obligations, then as
+a consequence you may not distribute the Library at all. For example, if a
+patent license would not permit royalty-free redistribution of the Library
+by all those who receive copies directly or indirectly through you, then the
+only way you could satisfy both it and this License would be to refrain entirely
+from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents
+or other property right claims or to contest validity of any such claims;
+this section has the sole purpose of protecting the integrity of the free
+software distribution system which is implemented by public license practices.
+Many people have made generous contributions to the wide range of software
+distributed through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing to
+distribute software through any other system and a licensee cannot impose
+that choice.
+
+This section is intended to make thoroughly clear what is believed to be a
+consequence of the rest of this License.
+
+12. If the distribution and/or use of the Library is restricted in certain
+countries either by patents or by copyrighted interfaces, the original copyright
+holder who places the Library under this License may add an explicit geographical
+distribution limitation excluding those countries, so that distribution is
+permitted only in or among countries not thus excluded. In such case, this
+License incorporates the limitation as if written in the body of this License.
+
+13. The Free Software Foundation may publish revised and/or new versions of
+the Library General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to address
+new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library specifies
+a version number of this License which applies to it and "any later version",
+you have the option of following the terms and conditions either of that version
+or of any later version published by the Free Software Foundation. If the
+Library does not specify a license version number, you may choose any version
+ever published by the Free Software Foundation.
+
+14. If you wish to incorporate parts of the Library into other free programs
+whose distribution conditions are incompatible with these, write to the author
+to ask for permission. For software which is copyrighted by the Free Software
+Foundation, write to the Free Software Foundation; we sometimes make exceptions
+for this. Our decision will be guided by the two goals of preserving the free
+status of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
+THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
+STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY
+"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
+OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
+THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE
+OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA
+OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES
+OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH
+HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+END OF TERMS AND CONDITIONS
+
+How to Apply These Terms to Your New Libraries
+
+If you develop a new library, and you want it to be of the greatest possible
+use to the public, we recommend making it free software that everyone can
+redistribute and change. You can do so by permitting redistribution under
+these terms (or, alternatively, under the terms of the ordinary General Public
+License).
+
+To apply these terms, attach the following notices to the library. It is safest
+to attach them to the start of each source file to most effectively convey
+the exclusion of warranty; and each file should have at least the "copyright"
+line and a pointer to where the full notice is found.
+
+one line to give the library's name and an idea of what it does.
+
+Copyright (C) year name of author
+
+This library is free software; you can redistribute it and/or modify it under
+the terms of the GNU Library General Public License as published by the Free
+Software Foundation; either version 2 of the License, or (at your option)
+any later version.
+
+This library is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more
+details.
+
+You should have received a copy of the GNU Library General Public License
+along with this library; if not, write to the Free Software Foundation, Inc.,
+51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your school,
+if any, to sign a "copyright disclaimer" for the library, if necessary. Here
+is a sample; alter the names:
+
+Yoyodyne, Inc., hereby disclaims all copyright interest in
+
+the library `Frob' (a library for tweaking knobs) written
+
+by James Random Hacker.
+
+signature of Ty Coon, 1 April 1990
+
+Ty Coon, President of Vice
+
+That's all there is to it!
--- /dev/null
+GNU LIBRARY GENERAL PUBLIC LICENSE
+
+Version 2, June 1991 Copyright (C) 1991 Free Software Foundation, Inc.
+
+51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license
+document, but changing it is not allowed.
+
+[This is the first released version of the library GPL. It is numbered 2 because
+it goes with version 2 of the ordinary GPL.]
+
+Preamble
+
+The licenses for most software are designed to take away your freedom to share
+and change it. By contrast, the GNU General Public Licenses are intended to
+guarantee your freedom to share and change free software--to make sure the
+software is free for all its users.
+
+This license, the Library General Public License, applies to some specially
+designated Free Software Foundation software, and to any other libraries whose
+authors decide to use it. You can use it for your libraries, too.
+
+When we speak of free software, we are referring to freedom, not price. Our
+General Public Licenses are designed to make sure that you have the freedom
+to distribute copies of free software (and charge for this service if you
+wish), that you receive source code or can get it if you want it, that you
+can change the software or use pieces of it in new free programs; and that
+you know you can do these things.
+
+To protect your rights, we need to make restrictions that forbid anyone to
+deny you these rights or to ask you to surrender the rights. These restrictions
+translate to certain responsibilities for you if you distribute copies of
+the library, or if you modify it.
+
+For example, if you distribute copies of the library, whether gratis or for
+a fee, you must give the recipients all the rights that we gave you. You must
+make sure that they, too, receive or can get the source code. If you link
+a program with the library, you must provide complete object files to the
+recipients so that they can relink them with the library, after making changes
+to the library and recompiling it. And you must show them these terms so they
+know their rights.
+
+Our method of protecting your rights has two steps: (1) copyright the library,
+and (2) offer you this license which gives you legal permission to copy, distribute
+and/or modify the library.
+
+Also, for each distributor's protection, we want to make certain that everyone
+understands that there is no warranty for this free library. If the library
+is modified by someone else and passed on, we want its recipients to know
+that what they have is not the original version, so that any problems introduced
+by others will not reflect on the original authors' reputations.
+
+Finally, any free program is threatened constantly by software patents. We
+wish to avoid the danger that companies distributing free software will individually
+obtain patent licenses, thus in effect transforming the program into proprietary
+software. To prevent this, we have made it clear that any patent must be licensed
+for everyone's free use or not licensed at all.
+
+Most GNU software, including some libraries, is covered by the ordinary GNU
+General Public License, which was designed for utility programs. This license,
+the GNU Library General Public License, applies to certain designated libraries.
+This license is quite different from the ordinary one; be sure to read it
+in full, and don't assume that anything in it is the same as in the ordinary
+license.
+
+The reason we have a separate public license for some libraries is that they
+blur the distinction we usually make between modifying or adding to a program
+and simply using it. Linking a program with a library, without changing the
+library, is in some sense simply using the library, and is analogous to running
+a utility program or application program. However, in a textual and legal
+sense, the linked executable is a combined work, a derivative of the original
+library, and the ordinary General Public License treats it as such.
+
+Because of this blurred distinction, using the ordinary General Public License
+for libraries did not effectively promote software sharing, because most developers
+did not use the libraries. We concluded that weaker conditions might promote
+sharing better.
+
+However, unrestricted linking of non-free programs would deprive the users
+of those programs of all benefit from the free status of the libraries themselves.
+This Library General Public License is intended to permit developers of non-free
+programs to use free libraries, while preserving your freedom as a user of
+such programs to change the free libraries that are incorporated in them.
+(We have not seen how to achieve this as regards changes in header files,
+but we have achieved it as regards changes in the actual functions of the
+Library.) The hope is that this will lead to faster development of free libraries.
+
+The precise terms and conditions for copying, distribution and modification
+follow. Pay close attention to the difference between a "work based on the
+library" and a "work that uses the library". The former contains code derived
+from the library, while the latter only works together with the library.
+
+Note that it is possible for a library to be covered by the ordinary General
+Public License rather than by this special one.
+
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+0. This License Agreement applies to any software library which contains a
+notice placed by the copyright holder or other authorized party saying it
+may be distributed under the terms of this Library General Public License
+(also called "this License"). Each licensee is addressed as "you".
+
+A "library" means a collection of software functions and/or data prepared
+so as to be conveniently linked with application programs (which use some
+of those functions and data) to form executables.
+
+The "Library", below, refers to any such software library or work which has
+been distributed under these terms. A "work based on the Library" means either
+the Library or any derivative work under copyright law: that is to say, a
+work containing the Library or a portion of it, either verbatim or with modifications
+and/or translated straightforwardly into another language. (Hereinafter, translation
+is included without limitation in the term "modification".)
+
+"Source code" for a work means the preferred form of the work for making modifications
+to it. For a library, complete source code means all the source code for all
+modules it contains, plus any associated interface definition files, plus
+the scripts used to control compilation and installation of the library.
+
+Activities other than copying, distribution and modification are not covered
+by this License; they are outside its scope. The act of running a program
+using the Library is not restricted, and output from such a program is covered
+only if its contents constitute a work based on the Library (independent of
+the use of the Library in a tool for writing it). Whether that is true depends
+on what the Library does and what the program that uses the Library does.
+
+1. You may copy and distribute verbatim copies of the Library's complete source
+code as you receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice and disclaimer
+of warranty; keep intact all the notices that refer to this License and to
+the absence of any warranty; and distribute a copy of this License along with
+the Library.
+
+You may charge a fee for the physical act of transferring a copy, and you
+may at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Library or any portion of it,
+thus forming a work based on the Library, and copy and distribute such modifications
+or work under the terms of Section 1 above, provided that you also meet all
+of these conditions:
+
+ a) The modified work must itself be a software library.
+
+b) You must cause the files modified to carry prominent notices stating that
+you changed the files and the date of any change.
+
+c) You must cause the whole of the work to be licensed at no charge to all
+third parties under the terms of this License.
+
+d) If a facility in the modified Library refers to a function or a table of
+data to be supplied by an application program that uses the facility, other
+than as an argument passed when the facility is invoked, then you must make
+a good faith effort to ensure that, in the event an application does not supply
+such function or table, the facility still operates, and performs whatever
+part of its purpose remains meaningful.
+
+(For example, a function in a library to compute square roots has a purpose
+that is entirely well-defined independent of the application. Therefore, Subsection
+2d requires that any application-supplied function or table used by this function
+must be optional: if the application does not supply it, the square root function
+must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If identifiable
+sections of that work are not derived from the Library, and can be reasonably
+considered independent and separate works in themselves, then this License,
+and its terms, do not apply to those sections when you distribute them as
+separate works. But when you distribute the same sections as part of a whole
+which is a work based on the Library, the distribution of the whole must be
+on the terms of this License, whose permissions for other licensees extend
+to the entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest your
+rights to work written entirely by you; rather, the intent is to exercise
+the right to control the distribution of derivative or collective works based
+on the Library.
+
+In addition, mere aggregation of another work not based on the Library with
+the Library (or with a work based on the Library) on a volume of a storage
+or distribution medium does not bring the other work under the scope of this
+License.
+
+3. You may opt to apply the terms of the ordinary GNU General Public License
+instead of this License to a given copy of the Library. To do this, you must
+alter all the notices that refer to this License, so that they refer to the
+ordinary GNU General Public License, version 2, instead of to this License.
+(If a newer version than version 2 of the ordinary GNU General Public License
+has appeared, then you can specify that version instead if you wish.) Do not
+make any other change in these notices.
+
+Once this change is made in a given copy, it is irreversible for that copy,
+so the ordinary GNU General Public License applies to all subsequent copies
+and derivative works made from that copy.
+
+This option is useful when you wish to copy part of the code of the Library
+into a program that is not a library.
+
+4. You may copy and distribute the Library (or a portion or derivative of
+it, under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you accompany it with the complete corresponding
+machine-readable source code, which must be distributed under the terms of
+Sections 1 and 2 above on a medium customarily used for software interchange.
+
+If distribution of object code is made by offering access to copy from a designated
+place, then offering equivalent access to copy the source code from the same
+place satisfies the requirement to distribute the source code, even though
+third parties are not compelled to copy the source along with the object code.
+
+5. A program that contains no derivative of any portion of the Library, but
+is designed to work with the Library by being compiled or linked with it,
+is called a "work that uses the Library". Such a work, in isolation, is not
+a derivative work of the Library, and therefore falls outside the scope of
+this License.
+
+However, linking a "work that uses the Library" with the Library creates an
+executable that is a derivative of the Library (because it contains portions
+of the Library), rather than a "work that uses the library". The executable
+is therefore covered by this License. Section 6 states terms for distribution
+of such executables.
+
+When a "work that uses the Library" uses material from a header file that
+is part of the Library, the object code for the work may be a derivative work
+of the Library even though the source code is not. Whether this is true is
+especially significant if the work can be linked without the Library, or if
+the work is itself a library. The threshold for this to be true is not precisely
+defined by law.
+
+If such an object file uses only numerical parameters, data structure layouts
+and accessors, and small macros and small inline functions (ten lines or less
+in length), then the use of the object file is unrestricted, regardless of
+whether it is legally a derivative work. (Executables containing this object
+code plus portions of the Library will still fall under Section 6.)
+
+Otherwise, if the work is a derivative of the Library, you may distribute
+the object code for the work under the terms of Section 6. Any executables
+containing that work also fall under Section 6, whether or not they are linked
+directly with the Library itself.
+
+6. As an exception to the Sections above, you may also compile or link a "work
+that uses the Library" with the Library to produce a work containing portions
+of the Library, and distribute that work under terms of your choice, provided
+that the terms permit modification of the work for the customer's own use
+and reverse engineering for debugging such modifications.
+
+You must give prominent notice with each copy of the work that the Library
+is used in it and that the Library and its use are covered by this License.
+You must supply a copy of this License. If the work during execution displays
+copyright notices, you must include the copyright notice for the Library among
+them, as well as a reference directing the user to the copy of this License.
+Also, you must do one of these things:
+
+a) Accompany the work with the complete corresponding machine-readable source
+code for the Library including whatever changes were used in the work (which
+must be distributed under Sections 1 and 2 above); and, if the work is an
+executable linked with the Library, with the complete machine-readable "work
+that uses the Library", as object code and/or source code, so that the user
+can modify the Library and then relink to produce a modified executable containing
+the modified Library. (It is understood that the user who changes the contents
+of definitions files in the Library will not necessarily be able to recompile
+the application to use the modified definitions.)
+
+b) Accompany the work with a written offer, valid for at least three years,
+to give the same user the materials specified in Subsection 6a, above, for
+a charge no more than the cost of performing this distribution.
+
+c) If distribution of the work is made by offering access to copy from a designated
+place, offer equivalent access to copy the above specified materials from
+the same place.
+
+d) Verify that the user has already received a copy of these materials or
+that you have already sent this user a copy.
+
+For an executable, the required form of the "work that uses the Library" must
+include any data and utility programs needed for reproducing the executable
+from it. However, as a special exception, the source code distributed need
+not include anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the operating
+system on which the executable runs, unless that component itself accompanies
+the executable.
+
+It may happen that this requirement contradicts the license restrictions of
+other proprietary libraries that do not normally accompany the operating system.
+Such a contradiction means you cannot use both them and the Library together
+in an executable that you distribute.
+
+7. You may place library facilities that are a work based on the Library side-by-side
+in a single library together with other library facilities not covered by
+this License, and distribute such a combined library, provided that the separate
+distribution of the work based on the Library and of the other library facilities
+is otherwise permitted, and provided that you do these two things:
+
+a) Accompany the combined library with a copy of the same work based on the
+Library, uncombined with any other library facilities. This must be distributed
+under the terms of the Sections above.
+
+b) Give prominent notice with the combined library of the fact that part of
+it is a work based on the Library, and explaining where to find the accompanying
+uncombined form of the same work.
+
+8. You may not copy, modify, sublicense, link with, or distribute the Library
+except as expressly provided under this License. Any attempt otherwise to
+copy, modify, sublicense, link with, or distribute the Library is void, and
+will automatically terminate your rights under this License. However, parties
+who have received copies, or rights, from you under this License will not
+have their licenses terminated so long as such parties remain in full compliance.
+
+9. You are not required to accept this License, since you have not signed
+it. However, nothing else grants you permission to modify or distribute the
+Library or its derivative works. These actions are prohibited by law if you
+do not accept this License. Therefore, by modifying or distributing the Library
+(or any work based on the Library), you indicate your acceptance of this License
+to do so, and all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+10. Each time you redistribute the Library (or any work based on the Library),
+the recipient automatically receives a license from the original licensor
+to copy, distribute, link with or modify the Library subject to these terms
+and conditions. You may not impose any further restrictions on the recipients'
+exercise of the rights granted herein. You are not responsible for enforcing
+compliance by third parties to this License.
+
+11. If, as a consequence of a court judgment or allegation of patent infringement
+or for any other reason (not limited to patent issues), conditions are imposed
+on you (whether by court order, agreement or otherwise) that contradict the
+conditions of this License, they do not excuse you from the conditions of
+this License. If you cannot distribute so as to satisfy simultaneously your
+obligations under this License and any other pertinent obligations, then as
+a consequence you may not distribute the Library at all. For example, if a
+patent license would not permit royalty-free redistribution of the Library
+by all those who receive copies directly or indirectly through you, then the
+only way you could satisfy both it and this License would be to refrain entirely
+from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents
+or other property right claims or to contest validity of any such claims;
+this section has the sole purpose of protecting the integrity of the free
+software distribution system which is implemented by public license practices.
+Many people have made generous contributions to the wide range of software
+distributed through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing to
+distribute software through any other system and a licensee cannot impose
+that choice.
+
+This section is intended to make thoroughly clear what is believed to be a
+consequence of the rest of this License.
+
+12. If the distribution and/or use of the Library is restricted in certain
+countries either by patents or by copyrighted interfaces, the original copyright
+holder who places the Library under this License may add an explicit geographical
+distribution limitation excluding those countries, so that distribution is
+permitted only in or among countries not thus excluded. In such case, this
+License incorporates the limitation as if written in the body of this License.
+
+13. The Free Software Foundation may publish revised and/or new versions of
+the Library General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to address
+new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library specifies
+a version number of this License which applies to it and "any later version",
+you have the option of following the terms and conditions either of that version
+or of any later version published by the Free Software Foundation. If the
+Library does not specify a license version number, you may choose any version
+ever published by the Free Software Foundation.
+
+14. If you wish to incorporate parts of the Library into other free programs
+whose distribution conditions are incompatible with these, write to the author
+to ask for permission. For software which is copyrighted by the Free Software
+Foundation, write to the Free Software Foundation; we sometimes make exceptions
+for this. Our decision will be guided by the two goals of preserving the free
+status of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
+THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
+STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY
+"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
+OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
+THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE
+OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA
+OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES
+OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH
+HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+END OF TERMS AND CONDITIONS
+
+How to Apply These Terms to Your New Libraries
+
+If you develop a new library, and you want it to be of the greatest possible
+use to the public, we recommend making it free software that everyone can
+redistribute and change. You can do so by permitting redistribution under
+these terms (or, alternatively, under the terms of the ordinary General Public
+License).
+
+To apply these terms, attach the following notices to the library. It is safest
+to attach them to the start of each source file to most effectively convey
+the exclusion of warranty; and each file should have at least the "copyright"
+line and a pointer to where the full notice is found.
+
+one line to give the library's name and an idea of what it does.
+
+Copyright (C) year name of author
+
+This library is free software; you can redistribute it and/or modify it under
+the terms of the GNU Library General Public License as published by the Free
+Software Foundation; either version 2 of the License, or (at your option)
+any later version.
+
+This library is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more
+details.
+
+You should have received a copy of the GNU Library General Public License
+along with this library; if not, write to the Free Software Foundation, Inc.,
+51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your school,
+if any, to sign a "copyright disclaimer" for the library, if necessary. Here
+is a sample; alter the names:
+
+Yoyodyne, Inc., hereby disclaims all copyright interest in
+
+the library `Frob' (a library for tweaking knobs) written
+
+by James Random Hacker.
+
+signature of Ty Coon, 1 April 1990
+
+Ty Coon, President of Vice
+
+That's all there is to it!
--- /dev/null
+GNU LESSER GENERAL PUBLIC LICENSE
+
+Version 2.1, February 1999
+
+Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license
+document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts as the
+successor of the GNU Library Public License, version 2, hence the version
+number 2.1.]
+
+Preamble
+
+The licenses for most software are designed to take away your freedom to share
+and change it. By contrast, the GNU General Public Licenses are intended to
+guarantee your freedom to share and change free software--to make sure the
+software is free for all its users.
+
+This license, the Lesser General Public License, applies to some specially
+designated software packages--typically libraries--of the Free Software Foundation
+and other authors who decide to use it. You can use it too, but we suggest
+you first think carefully about whether this license or the ordinary General
+Public License is the better strategy to use in any particular case, based
+on the explanations below.
+
+When we speak of free software, we are referring to freedom of use, not price.
+Our General Public Licenses are designed to make sure that you have the freedom
+to distribute copies of free software (and charge for this service if you
+wish); that you receive source code or can get it if you want it; that you
+can change the software and use pieces of it in new free programs; and that
+you are informed that you can do these things.
+
+To protect your rights, we need to make restrictions that forbid distributors
+to deny you these rights or to ask you to surrender these rights. These restrictions
+translate to certain responsibilities for you if you distribute copies of
+the library or if you modify it.
+
+For example, if you distribute copies of the library, whether gratis or for
+a fee, you must give the recipients all the rights that we gave you. You must
+make sure that they, too, receive or can get the source code. If you link
+other code with the library, you must provide complete object files to the
+recipients, so that they can relink them with the library after making changes
+to the library and recompiling it. And you must show them these terms so they
+know their rights.
+
+We protect your rights with a two-step method: (1) we copyright the library,
+and (2) we offer you this license, which gives you legal permission to copy,
+distribute and/or modify the library.
+
+To protect each distributor, we want to make it very clear that there is no
+warranty for the free library. Also, if the library is modified by someone
+else and passed on, the recipients should know that what they have is not
+the original version, so that the original author's reputation will not be
+affected by problems that might be introduced by others.
+
+Finally, software patents pose a constant threat to the existence of any free
+program. We wish to make sure that a company cannot effectively restrict the
+users of a free program by obtaining a restrictive license from a patent holder.
+Therefore, we insist that any patent license obtained for a version of the
+library must be consistent with the full freedom of use specified in this
+license.
+
+Most GNU software, including some libraries, is covered by the ordinary GNU
+General Public License. This license, the GNU Lesser General Public License,
+applies to certain designated libraries, and is quite different from the ordinary
+General Public License. We use this license for certain libraries in order
+to permit linking those libraries into non-free programs.
+
+When a program is linked with a library, whether statically or using a shared
+library, the combination of the two is legally speaking a combined work, a
+derivative of the original library. The ordinary General Public License therefore
+permits such linking only if the entire combination fits its criteria of freedom.
+The Lesser General Public License permits more lax criteria for linking other
+code with the library.
+
+We call this license the "Lesser" General Public License because it does Less
+to protect the user's freedom than the ordinary General Public License. It
+also provides other free software developers Less of an advantage over competing
+non-free programs. These disadvantages are the reason we use the ordinary
+General Public License for many libraries. However, the Lesser license provides
+advantages in certain special circumstances.
+
+For example, on rare occasions, there may be a special need to encourage the
+widest possible use of a certain library, so that it becomes a de-facto standard.
+To achieve this, non-free programs must be allowed to use the library. A more
+frequent case is that a free library does the same job as widely used non-free
+libraries. In this case, there is little to gain by limiting the free library
+to free software only, so we use the Lesser General Public License.
+
+In other cases, permission to use a particular library in non-free programs
+enables a greater number of people to use a large body of free software. For
+example, permission to use the GNU C Library in non-free programs enables
+many more people to use the whole GNU operating system, as well as its variant,
+the GNU/Linux operating system.
+
+Although the Lesser General Public License is Less protective of the users'
+freedom, it does ensure that the user of a program that is linked with the
+Library has the freedom and the wherewithal to run that program using a modified
+version of the Library.
+
+The precise terms and conditions for copying, distribution and modification
+follow. Pay close attention to the difference between a "work based on the
+library" and a "work that uses the library". The former contains code derived
+from the library, whereas the latter must be combined with the library in
+order to run.
+
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+0. This License Agreement applies to any software library or other program
+which contains a notice placed by the copyright holder or other authorized
+party saying it may be distributed under the terms of this Lesser General
+Public License (also called "this License"). Each licensee is addressed as
+"you".
+
+A "library" means a collection of software functions and/or data prepared
+so as to be conveniently linked with application programs (which use some
+of those functions and data) to form executables.
+
+The "Library", below, refers to any such software library or work which has
+been distributed under these terms. A "work based on the Library" means either
+the Library or any derivative work under copyright law: that is to say, a
+work containing the Library or a portion of it, either verbatim or with modifications
+and/or translated straightforwardly into another language. (Hereinafter, translation
+is included without limitation in the term "modification".)
+
+"Source code" for a work means the preferred form of the work for making modifications
+to it. For a library, complete source code means all the source code for all
+modules it contains, plus any associated interface definition files, plus
+the scripts used to control compilation and installation of the library.
+
+Activities other than copying, distribution and modification are not covered
+by this License; they are outside its scope. The act of running a program
+using the Library is not restricted, and output from such a program is covered
+only if its contents constitute a work based on the Library (independent of
+the use of the Library in a tool for writing it). Whether that is true depends
+on what the Library does and what the program that uses the Library does.
+
+1. You may copy and distribute verbatim copies of the Library's complete source
+code as you receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice and disclaimer
+of warranty; keep intact all the notices that refer to this License and to
+the absence of any warranty; and distribute a copy of this License along with
+the Library.
+
+You may charge a fee for the physical act of transferring a copy, and you
+may at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Library or any portion of it,
+thus forming a work based on the Library, and copy and distribute such modifications
+or work under the terms of Section 1 above, provided that you also meet all
+of these conditions:
+
+ a) The modified work must itself be a software library.
+
+b) You must cause the files modified to carry prominent notices stating that
+you changed the files and the date of any change.
+
+c) You must cause the whole of the work to be licensed at no charge to all
+third parties under the terms of this License.
+
+d) If a facility in the modified Library refers to a function or a table of
+data to be supplied by an application program that uses the facility, other
+than as an argument passed when the facility is invoked, then you must make
+a good faith effort to ensure that, in the event an application does not supply
+such function or table, the facility still operates, and performs whatever
+part of its purpose remains meaningful.
+
+(For example, a function in a library to compute square roots has a purpose
+that is entirely well-defined independent of the application. Therefore, Subsection
+2d requires that any application-supplied function or table used by this function
+must be optional: if the application does not supply it, the square root function
+must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If identifiable
+sections of that work are not derived from the Library, and can be reasonably
+considered independent and separate works in themselves, then this License,
+and its terms, do not apply to those sections when you distribute them as
+separate works. But when you distribute the same sections as part of a whole
+which is a work based on the Library, the distribution of the whole must be
+on the terms of this License, whose permissions for other licensees extend
+to the entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest your
+rights to work written entirely by you; rather, the intent is to exercise
+the right to control the distribution of derivative or collective works based
+on the Library.
+
+In addition, mere aggregation of another work not based on the Library with
+the Library (or with a work based on the Library) on a volume of a storage
+or distribution medium does not bring the other work under the scope of this
+License.
+
+3. You may opt to apply the terms of the ordinary GNU General Public License
+instead of this License to a given copy of the Library. To do this, you must
+alter all the notices that refer to this License, so that they refer to the
+ordinary GNU General Public License, version 2, instead of to this License.
+(If a newer version than version 2 of the ordinary GNU General Public License
+has appeared, then you can specify that version instead if you wish.) Do not
+make any other change in these notices.
+
+Once this change is made in a given copy, it is irreversible for that copy,
+so the ordinary GNU General Public License applies to all subsequent copies
+and derivative works made from that copy.
+
+This option is useful when you wish to copy part of the code of the Library
+into a program that is not a library.
+
+4. You may copy and distribute the Library (or a portion or derivative of
+it, under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you accompany it with the complete corresponding
+machine-readable source code, which must be distributed under the terms of
+Sections 1 and 2 above on a medium customarily used for software interchange.
+
+If distribution of object code is made by offering access to copy from a designated
+place, then offering equivalent access to copy the source code from the same
+place satisfies the requirement to distribute the source code, even though
+third parties are not compelled to copy the source along with the object code.
+
+5. A program that contains no derivative of any portion of the Library, but
+is designed to work with the Library by being compiled or linked with it,
+is called a "work that uses the Library". Such a work, in isolation, is not
+a derivative work of the Library, and therefore falls outside the scope of
+this License.
+
+However, linking a "work that uses the Library" with the Library creates an
+executable that is a derivative of the Library (because it contains portions
+of the Library), rather than a "work that uses the library". The executable
+is therefore covered by this License. Section 6 states terms for distribution
+of such executables.
+
+When a "work that uses the Library" uses material from a header file that
+is part of the Library, the object code for the work may be a derivative work
+of the Library even though the source code is not. Whether this is true is
+especially significant if the work can be linked without the Library, or if
+the work is itself a library. The threshold for this to be true is not precisely
+defined by law.
+
+If such an object file uses only numerical parameters, data structure layouts
+and accessors, and small macros and small inline functions (ten lines or less
+in length), then the use of the object file is unrestricted, regardless of
+whether it is legally a derivative work. (Executables containing this object
+code plus portions of the Library will still fall under Section 6.)
+
+Otherwise, if the work is a derivative of the Library, you may distribute
+the object code for the work under the terms of Section 6. Any executables
+containing that work also fall under Section 6, whether or not they are linked
+directly with the Library itself.
+
+6. As an exception to the Sections above, you may also combine or link a "work
+that uses the Library" with the Library to produce a work containing portions
+of the Library, and distribute that work under terms of your choice, provided
+that the terms permit modification of the work for the customer's own use
+and reverse engineering for debugging such modifications.
+
+You must give prominent notice with each copy of the work that the Library
+is used in it and that the Library and its use are covered by this License.
+You must supply a copy of this License. If the work during execution displays
+copyright notices, you must include the copyright notice for the Library among
+them, as well as a reference directing the user to the copy of this License.
+Also, you must do one of these things:
+
+a) Accompany the work with the complete corresponding machine-readable source
+code for the Library including whatever changes were used in the work (which
+must be distributed under Sections 1 and 2 above); and, if the work is an
+executable linked with the Library, with the complete machine-readable "work
+that uses the Library", as object code and/or source code, so that the user
+can modify the Library and then relink to produce a modified executable containing
+the modified Library. (It is understood that the user who changes the contents
+of definitions files in the Library will not necessarily be able to recompile
+the application to use the modified definitions.)
+
+b) Use a suitable shared library mechanism for linking with the Library. A
+suitable mechanism is one that (1) uses at run time a copy of the library
+already present on the user's computer system, rather than copying library
+functions into the executable, and (2) will operate properly with a modified
+version of the library, if the user installs one, as long as the modified
+version is interface-compatible with the version that the work was made with.
+
+c) Accompany the work with a written offer, valid for at least three years,
+to give the same user the materials specified in Subsection 6a, above, for
+a charge no more than the cost of performing this distribution.
+
+d) If distribution of the work is made by offering access to copy from a designated
+place, offer equivalent access to copy the above specified materials from
+the same place.
+
+e) Verify that the user has already received a copy of these materials or
+that you have already sent this user a copy.
+
+For an executable, the required form of the "work that uses the Library" must
+include any data and utility programs needed for reproducing the executable
+from it. However, as a special exception, the materials to be distributed
+need not include anything that is normally distributed (in either source or
+binary form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component itself
+accompanies the executable.
+
+It may happen that this requirement contradicts the license restrictions of
+other proprietary libraries that do not normally accompany the operating system.
+Such a contradiction means you cannot use both them and the Library together
+in an executable that you distribute.
+
+7. You may place library facilities that are a work based on the Library side-by-side
+in a single library together with other library facilities not covered by
+this License, and distribute such a combined library, provided that the separate
+distribution of the work based on the Library and of the other library facilities
+is otherwise permitted, and provided that you do these two things:
+
+a) Accompany the combined library with a copy of the same work based on the
+Library, uncombined with any other library facilities. This must be distributed
+under the terms of the Sections above.
+
+b) Give prominent notice with the combined library of the fact that part of
+it is a work based on the Library, and explaining where to find the accompanying
+uncombined form of the same work.
+
+8. You may not copy, modify, sublicense, link with, or distribute the Library
+except as expressly provided under this License. Any attempt otherwise to
+copy, modify, sublicense, link with, or distribute the Library is void, and
+will automatically terminate your rights under this License. However, parties
+who have received copies, or rights, from you under this License will not
+have their licenses terminated so long as such parties remain in full compliance.
+
+9. You are not required to accept this License, since you have not signed
+it. However, nothing else grants you permission to modify or distribute the
+Library or its derivative works. These actions are prohibited by law if you
+do not accept this License. Therefore, by modifying or distributing the Library
+(or any work based on the Library), you indicate your acceptance of this License
+to do so, and all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+10. Each time you redistribute the Library (or any work based on the Library),
+the recipient automatically receives a license from the original licensor
+to copy, distribute, link with or modify the Library subject to these terms
+and conditions. You may not impose any further restrictions on the recipients'
+exercise of the rights granted herein. You are not responsible for enforcing
+compliance by third parties with this License.
+
+11. If, as a consequence of a court judgment or allegation of patent infringement
+or for any other reason (not limited to patent issues), conditions are imposed
+on you (whether by court order, agreement or otherwise) that contradict the
+conditions of this License, they do not excuse you from the conditions of
+this License. If you cannot distribute so as to satisfy simultaneously your
+obligations under this License and any other pertinent obligations, then as
+a consequence you may not distribute the Library at all. For example, if a
+patent license would not permit royalty-free redistribution of the Library
+by all those who receive copies directly or indirectly through you, then the
+only way you could satisfy both it and this License would be to refrain entirely
+from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents
+or other property right claims or to contest validity of any such claims;
+this section has the sole purpose of protecting the integrity of the free
+software distribution system which is implemented by public license practices.
+Many people have made generous contributions to the wide range of software
+distributed through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing to
+distribute software through any other system and a licensee cannot impose
+that choice.
+
+This section is intended to make thoroughly clear what is believed to be a
+consequence of the rest of this License.
+
+12. If the distribution and/or use of the Library is restricted in certain
+countries either by patents or by copyrighted interfaces, the original copyright
+holder who places the Library under this License may add an explicit geographical
+distribution limitation excluding those countries, so that distribution is
+permitted only in or among countries not thus excluded. In such case, this
+License incorporates the limitation as if written in the body of this License.
+
+13. The Free Software Foundation may publish revised and/or new versions of
+the Lesser General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to address
+new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library specifies
+a version number of this License which applies to it and "any later version",
+you have the option of following the terms and conditions either of that version
+or of any later version published by the Free Software Foundation. If the
+Library does not specify a license version number, you may choose any version
+ever published by the Free Software Foundation.
+
+14. If you wish to incorporate parts of the Library into other free programs
+whose distribution conditions are incompatible with these, write to the author
+to ask for permission. For software which is copyrighted by the Free Software
+Foundation, write to the Free Software Foundation; we sometimes make exceptions
+for this. Our decision will be guided by the two goals of preserving the free
+status of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
+THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
+STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY
+"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
+OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
+THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE
+OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA
+OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES
+OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH
+HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+END OF TERMS AND CONDITIONS
+
+How to Apply These Terms to Your New Libraries
+
+If you develop a new library, and you want it to be of the greatest possible
+use to the public, we recommend making it free software that everyone can
+redistribute and change. You can do so by permitting redistribution under
+these terms (or, alternatively, under the terms of the ordinary General Public
+License).
+
+To apply these terms, attach the following notices to the library. It is safest
+to attach them to the start of each source file to most effectively convey
+the exclusion of warranty; and each file should have at least the "copyright"
+line and a pointer to where the full notice is found.
+
+< one line to give the library's name and an idea of what it does. >
+
+Copyright (C) < year > < name of author >
+
+This library is free software; you can redistribute it and/or modify it under
+the terms of the GNU Lesser General Public License as published by the Free
+Software Foundation; either version 2.1 of the License, or (at your option)
+any later version.
+
+This library is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details.
+
+You should have received a copy of the GNU Lesser General Public License along
+with this library; if not, write to the Free Software Foundation, Inc., 51
+Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information
+on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your school,
+if any, to sign a "copyright disclaimer" for the library, if necessary. Here
+is a sample; alter the names:
+
+Yoyodyne, Inc., hereby disclaims all copyright interest in
+
+the library `Frob' (a library for tweaking knobs) written
+
+by James Random Hacker.
+
+< signature of Ty Coon > , 1 April 1990
+
+Ty Coon, President of Vice
+
+That's all there is to it!
--- /dev/null
+GNU LESSER GENERAL PUBLIC LICENSE
+
+Version 3, 29 June 2007
+
+Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
+
+Everyone is permitted to copy and distribute verbatim copies of this license
+document, but changing it is not allowed.
+
+This version of the GNU Lesser General Public License incorporates the terms
+and conditions of version 3 of the GNU General Public License, supplemented
+by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+
+
+As used herein, "this License" refers to version 3 of the GNU Lesser General
+Public License, and the "GNU GPL" refers to version 3 of the GNU General Public
+License.
+
+
+
+"The Library" refers to a covered work governed by this License, other than
+an Application or a Combined Work as defined below.
+
+
+
+An "Application" is any work that makes use of an interface provided by the
+Library, but which is not otherwise based on the Library. Defining a subclass
+of a class defined by the Library is deemed a mode of using an interface provided
+by the Library.
+
+
+
+A "Combined Work" is a work produced by combining or linking an Application
+with the Library. The particular version of the Library with which the Combined
+Work was made is also called the "Linked Version".
+
+
+
+The "Minimal Corresponding Source" for a Combined Work means the Corresponding
+Source for the Combined Work, excluding any source code for portions of the
+Combined Work that, considered in isolation, are based on the Application,
+and not on the Linked Version.
+
+
+
+The "Corresponding Application Code" for a Combined Work means the object
+code and/or source code for the Application, including any data and utility
+programs needed for reproducing the Combined Work from the Application, but
+excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+You may convey a covered work under sections 3 and 4 of this License without
+being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+If you modify a copy of the Library, and, in your modifications, a facility
+refers to a function or data to be supplied by an Application that uses the
+facility (other than as an argument passed when the facility is invoked),
+then you may convey a copy of the modified version:
+
+a) under this License, provided that you make a good faith effort to ensure
+that, in the event an Application does not supply the function or data, the
+facility still operates, and performs whatever part of its purpose remains
+meaningful, or
+
+b) under the GNU GPL, with none of the additional permissions of this License
+applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+The object code form of an Application may incorporate material from a header
+file that is part of the Library. You may convey such object code under terms
+of your choice, provided that, if the incorporated material is not limited
+to numerical parameters, data structure layouts and accessors, or small macros,
+inline functions and templates (ten or fewer lines in length), you do both
+of the following:
+
+a) Give prominent notice with each copy of the object code that the Library
+is used in it and that the Library and its use are covered by this License.
+
+b) Accompany the object code with a copy of the GNU GPL and this license document.
+
+ 4. Combined Works.
+
+You may convey a Combined Work under terms of your choice that, taken together,
+effectively do not restrict modification of the portions of the Library contained
+in the Combined Work and reverse engineering for debugging such modifications,
+if you also do each of the following:
+
+a) Give prominent notice with each copy of the Combined Work that the Library
+is used in it and that the Library and its use are covered by this License.
+
+b) Accompany the Combined Work with a copy of the GNU GPL and this license
+document.
+
+c) For a Combined Work that displays copyright notices during execution, include
+the copyright notice for the Library among these notices, as well as a reference
+directing the user to the copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+0) Convey the Minimal Corresponding Source under the terms of this License,
+and the Corresponding Application Code in a form suitable for, and under terms
+that permit, the user to recombine or relink the Application with a modified
+version of the Linked Version to produce a modified Combined Work, in the
+manner specified by section 6 of the GNU GPL for conveying Corresponding Source.
+
+1) Use a suitable shared library mechanism for linking with the Library. A
+suitable mechanism is one that (a) uses at run time a copy of the Library
+already present on the user's computer system, and (b) will operate properly
+with a modified version of the Library that is interface-compatible with the
+Linked Version.
+
+e) Provide Installation Information, but only if you would otherwise be required
+to provide such information under section 6 of the GNU GPL, and only to the
+extent that such information is necessary to install and execute a modified
+version of the Combined Work produced by recombining or relinking the Application
+with a modified version of the Linked Version. (If you use option 4d0, the
+Installation Information must accompany the Minimal Corresponding Source and
+Corresponding Application Code. If you use option 4d1, you must provide the
+Installation Information in the manner specified by section 6 of the GNU GPL
+for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+You may place library facilities that are a work based on the Library side
+by side in a single library together with other library facilities that are
+not Applications and are not covered by this License, and convey such a combined
+library under terms of your choice, if you do both of the following:
+
+a) Accompany the combined library with a copy of the same work based on the
+Library, uncombined with any other library facilities, conveyed under the
+terms of this License.
+
+b) Give prominent notice with the combined library that part of it is a work
+based on the Library, and explaining where to find the accompanying uncombined
+form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+The Free Software Foundation may publish revised and/or new versions of the
+GNU Lesser General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to address
+new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library as you
+received it specifies that a certain numbered version of the GNU Lesser General
+Public License "or any later version" applies to it, you have the option of
+following the terms and conditions either of that published version or of
+any later version published by the Free Software Foundation. If the Library
+as you received it does not specify a version number of the GNU Lesser General
+Public License, you may choose any version of the GNU Lesser General Public
+License ever published by the Free Software Foundation.
+
+If the Library as you received it specifies that a proxy can decide whether
+future versions of the GNU Lesser General Public License shall apply, that
+proxy's public statement of acceptance of any version is permanent authorization
+for you to choose that version for the Library.
--- /dev/null
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 3 of the license or (at your option) any later version
+that is accepted by the membership of KDE e.V. (or its successor
+approved by the membership of KDE e.V.), which shall act as a
+proxy as defined in Section 6 of version 3 of the license.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
--- /dev/null
+MIT License Copyright (c) <year> <copyright holders>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is furnished
+to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
+OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--- /dev/null
+# KConfig
+
+Persistent platform-independent application settings.
+
+## Introduction
+
+KConfig provides an advanced configuration system. It is made of two parts:
+KConfigCore and KConfigGui.
+
+KConfigCore provides access to the configuration files themselves. It features:
+
+- Code generation: describe your configuration in an XML file, and use
+ kconfig_compiler to generate classes that read and write configuration
+ entries.
+- Cascading configuration files (global settings overridden by local settings).
+- Optional shell expansion support (see [docs/options.md](@ref options)).
+- The ability to lock down configuration options (see
+ [docs/options.md](@ref options)).
+
+KConfigGui provides a way to hook widgets to the configuration so that they are
+automatically initialized from the configuration and automatically propagate
+their changes to their respective configuration files.
+
--- /dev/null
+bugs
+====
+
+- make expandString stuff consistent
+- KConfigGroup::exists() should return true only if the group contains
+ any non-deleted entries (?)
+- immutable groups with no entries are not written out and thus lose
+ their immutability.
+- "C" & "en_US" should be detected early and converted to a null string
+ (but also save the original string, so locale() semantics don't change
+ at that point).
+
+wishes
+======
+
+- use lazy loading
+ - load as soon as the first KConfigGroup is instantiated
+ - lazy parsing of values is interesting, too - see kconfig_take2 branch
+- add $\\VAR and $\\(cmd) escapes to list-quote expanded string
+- possibly:
+ - preserve unchanged parts of the config literally. problem: comments
+ might become stale. so if a comment is already there, add an additional
+ comment that indicates that the value was changed (include old value?).
+ - api to actively add comments to files, groups and keys
+ - option to start these comments with ## as a sign that they should not
+ trigger the above change indicator logic.
+ - guaranteeing that write order of new keys is preserved
+ - detect commented out entries and put actual entries with the same key
+ right behind them
+- possibly: selective multi-level master diversion
+ - this is to support roaming profiles that have machine/user/etc. specific
+ settings
+ - files, groups and keys can have [$m] and [$s] markers; these cascade
+ within each file only. the least significant object (farthest away from
+ the master) with an effective $m mode becomes the master (i.e., is
+ written to and not read past).
+ default is $m for the master file and $s for the default files.
+ - the CascadeConfig flag being unset doesn't make things exactly simpler
+ - can kdeglobals be handled by this?
+ - does this really make sense? promoting an object to profile wide status
+ is a conscious decision - which probably needs to be repeated every time
+ the value changes.
+
+internals
+=========
+
+- clear up bDeleted vs. isNull in entrymap
+- make entrymap truly hierarchical
+ - an entry map contains its flags, a map of keys and a map of submaps.
+ it does NOT contain its name and has no parent pointer.
+ - when creating a kconfiggroup, ask parent for the respective submap
+ and link it if it is present. if it is not, create one at write op,
+ link it and tell parent to add it to its entry map. both query and
+ creation are recursive, obviously.
+ a kconfiggroup DOES contain its name and has a parent pointer.
+ - 3)
+- 4)
+
+3)
+> We wouldn't have to worry about the KEntryGroup being removed out from
+> under us, because the only way that should happen is if the config
+> object is destroyed or reparsed, and in those cases you shouldn't be
+> using a KConfigGroup from prior to that.
+>
+i don't think "this is stupid and will not happen" works; [...]
+given that cascaded parsing includes writing to existing maps, i think
+the simplest approach is clearing the existing structure from keymaps
+and resetting the attributes, but leaving the subgroup maps populated,
+thus keeping any group refs valid.
+the question is about the type of reference held to the entry map.
+originally i had thought of pointers. a map would be linked only if it
+really existed, otherwise the pointer would be null (thus indicating
+reads to return the default immediately and writes to ask the parent to
+create a submap). however, keeping that consistent with deletions would
+be a nightmare, and with the rescan changing the groups underneath
+impossible without each map having a list of referring configgroups.
+therefore it might make more sense to always create a corresponding tree
+of empty maps when a configroup for a non-existing group is instantiated
+- these groups won't be written out (they have no entries and cannot be
+immutable) and access to non-existing groups (esp. without an subsequent
+write that would actually create it) is rare, so the performance and
+memory overhead of this "eager" approach is likely to be negligible. as
+a middle way one could use a pointer and lazily populate it on first
+access without putting semantics into the pointer being already set,
+but i don't think the added complexity will pay off.
+
+4)
+> > > > hmm, wait. maybe it would be better if the map did not do actual
+> > > > permission checking. the frontend is peppered with asserts already
+> > >
+> > > that's the group doing permission checking, if this group is immutable
+> > > then the entry can't be changed. plus, now that KEntryKey doesn't know
+> > > what group it belongs to KEntryMap can't check if the group is
+> > > immutable.
+> > >
+> > > > (need to consider how to handle release builds). in the backend, the
+> > > > ugly immutableGroups hack would be unnecessary.
+> > >
+> > > no, immutableGroups would still be necessary unless i remove all
+> > > checking from KGroupEntry and KEntryMap. but, then checks for
+> > > immutable would have to be used everywhere that an entry might be
+> > > changed.
+> > >
+> > yes - and the frontend already handles it and the backend *should*
+> > handle it (issue warnings for trying to overwrite $i settings).
+>
+> i don't know, i think most handling of the immutability of a group
+> can/should be handled by the KGroupEntry itself. this way we can keep
+> all the data about a group in one place and let KGroupEntry keep
+> itself in a consistent/valid state.
+>
+dunno, either. the use cases are:
+- backend: writing immutable objects is fine, as long as the
+ immutability does not come from a pre-existing default.
+ given that there will be multiple backends, it sounds like
+ centralizing the check and warning reporting might make sense. otoh,
+ such a low-level function might not have enough context to make a
+ useful message.
+- frontend: obviously, writing immutable objects is not permitted. this
+ is already checked everywhere through asserts. in non-debug builds
+ these asserts have no effect, but if a write gets that far it means
+ that the app already permitted changing the option in the first place
+ due to failure to check for immutability. i don't see much point in
+ preventing the illegitimate change from being saved, as it can be
+ repeated anyway (i'm not really convinced of security through
+ exhaustion/boredom of the attacker :).
+i'm not sure whether that means that the two use cases need separate
+mutators or whether the mutator should not apply any immutability
+semantics at all.
+
+
+overwriting semantics
+=====================
+
+generally:
+- localized entries cannot exist without an unlocalized "primary" entry,
+ so writing a localized key when no corresponding unlocalized key
+ exists should print a warning and copy the value to the unlocalized
+ key.
+- a primary entry in the user config overshadows not only the immediate
+ default, but also any localizations of the default. applies also to a
+ [$d] marker, obviously.
+ a localized entry in the user config overshadows only that
+ localization from the default.
+
+write ops:
+> > - writing an entry with the localization flag changes really only that
+> > key.
+> > trying to change the globality of the key prints a warning and does
+> > nothing.
+- key exists in local config => overwritten
+- key does not exist => created
+yes, that's the trivial case.
+
+> > - writing an entry without the localization flag deletes all
+> > localizations.
+> > in this case, changing the globality of the key poses no problem.
+- the key itself is handled trivially
+- if localizations exist in the local config, they are actively purged
+- localizations in the default config don't matter, as they will be
+ overshadowed by the unlocalized key in the local config
+
+> > - deleting an entry also deletes all localizations.
+- if default exists, write [$d] entry
+- if no default exists, delete entry
+- if localizations exist in the local config, they are actively purged
+- localizations in the default config don't matter, as they will be
+ overshadowed by the unlocalized key in the local config (as
+ localizations cannot exist without a primary key, a deletion marker
+ key will be present).
+
+> > - reverting a key to default also restores all localizations.
+- any local entries are actively purged
+
+
--- /dev/null
+include(ECMAddTests)
+
+find_package(Qt6Test ${REQUIRED_QT_VERSION} CONFIG QUIET)
+find_package(Qt6Concurrent ${REQUIRED_QT_VERSION} CONFIG QUIET)
+
+if(NOT Qt6Test_FOUND)
+ message(STATUS "Qt6Test not found, autotests will not be built.")
+ return()
+endif()
+
+if(NOT Qt6Concurrent_FOUND)
+ message(STATUS "Qt6Concurrent not found, autotests will not be built.")
+ return()
+endif()
+
+# compile KEntryMap into the test since it's not exported
+ecm_add_test(
+ kentrymaptest.cpp
+ ../src/core/kconfigdata.cpp
+ TEST_NAME kentrymaptest
+ LINK_LIBRARIES Qt6::Test
+)
+target_include_directories(kentrymaptest PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../src/core)
+
+qt_add_resources(sharedconfigresources sharedconfigresources.qrc)
+
+ecm_add_test(ksharedconfigtest.cpp ${sharedconfigresources} TEST_NAME kconfigcore-ksharedconfigtest LINK_LIBRARIES KF6::ConfigCore Qt6::Test Qt6::Concurrent)
+
+# test for fallback to :/kconfig/xxxx config resource
+qt_add_resources(fallbackconfigresources fallbackconfigresources.qrc)
+ecm_add_test(fallbackconfigresourcestest.cpp ${fallbackconfigresources} TEST_NAME kconfigcore-fallbackconfigresourcestest LINK_LIBRARIES KF6::ConfigCore Qt6::Test Qt6::Concurrent)
+
+ecm_add_tests(
+ kconfignokdehometest.cpp
+ kconfigtest.cpp
+ kdesktopfiletest.cpp
+ test_kconf_update.cpp
+ ksharedconfig_in_global_object.cpp
+ dbussanitizertest.cpp
+ NAME_PREFIX kconfigcore-
+ LINK_LIBRARIES KF6::ConfigCore Qt6::Test Qt6::Concurrent
+)
+
+add_dependencies(test_kconf_update kconf_update)
+
+if(TARGET Qt6::Gui)
+ecm_add_tests(
+ kconfigguitest.cpp
+ kconfigloadertest.cpp
+ kconfigskeletontest.cpp
+ kstandardshortcuttest.cpp
+ NAME_PREFIX kconfiggui-
+ LINK_LIBRARIES KF6::ConfigGui Qt6::Test
+)
+
+ecm_add_test(
+ kstandardshortcutwatchertest.cpp
+ # add sources instead of linking so we can use the unexported initialize()
+ ../src/gui/kstandardshortcut.cpp
+ ../src/gui/kstandardshortcutwatcher.cpp
+ LINK_LIBRARIES KF6::ConfigCore Qt6::Gui Qt6::Test
+ TEST_NAME kstandardshortcutwatchertest
+ NAME_PREFIX kconfiggui-
+)
+target_include_directories(kstandardshortcutwatchertest PRIVATE "$<TARGET_PROPERTY:KF6ConfigGui,INTERFACE_INCLUDE_DIRECTORIES>")
+target_compile_definitions(kstandardshortcutwatchertest PRIVATE "-DKCONFIGGUI_STATIC_DEFINE")
+
+# These tests do a global cleanup of ~/.qttest, so they can't run in parallel
+set_tests_properties(kconfigcore-kconfigtest PROPERTIES RUN_SERIAL TRUE)
+set_tests_properties(kconfigcore-kconfignokdehometest PROPERTIES RUN_SERIAL TRUE)
+set_tests_properties(kconfiggui-kconfigguitest PROPERTIES RUN_SERIAL TRUE)
+
+if(NOT CMAKE_CROSSCOMPILING)
+ add_subdirectory(kconfig_compiler)
+endif()
+endif()
+
+find_package(Qt6 OPTIONAL_COMPONENTS Widgets)
+if(TARGET Qt6::Widgets)
+ ecm_add_test(kwindowstatesavertest.cpp LINK_LIBRARIES KF6::ConfigGui Qt6::Test Qt6::Widgets)
+endif()
+
+# benchmarks, don't execute during normal testing
+# they don't test additional stuff
+add_executable(kconfig_benchmark kconfig_benchmark.cpp)
+ecm_mark_nongui_executable(kconfig_benchmark)
+add_test(NAME kconfig_benchmark COMMAND kconfig_benchmark CONFIGURATIONS BENCHMARK)
+target_link_libraries(kconfig_benchmark KF6::ConfigCore Qt6::Test)
--- /dev/null
+// SPDX-License-Identifier: LGPL-2.0-or-later
+// SPDX-FileCopyrightText: 2023 Harald Sitter <sitter@kde.org>
+
+#include "dbussanitizer_p.h"
+
+#include <QTest>
+
+class DBusSanitizerTest : public QObject
+{
+ Q_OBJECT
+private Q_SLOTS:
+ void test()
+ {
+ QCOMPARE(kconfigDBusSanitizePath(QStringLiteral("/plasma_org-kde!plasma~desktop:appletsrc")),
+ QStringLiteral("/plasma_org_kde_plasma_desktop_appletsrc"));
+ }
+};
+
+QTEST_GUILESS_MAIN(DBusSanitizerTest)
+#include "dbussanitizertest.moc"
--- /dev/null
+<!DOCTYPE RCC><RCC version="1.0">
+ <qresource prefix="/kconfig">
+ <file alias="kconfigtesting">test.ini</file>
+ </qresource>
+</RCC>
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2015 Christoph Cullmann <cullmann@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include <QTest>
+#include <kconfiggroup.h>
+#include <ksharedconfig.h>
+
+class FallbackConfigResourcesTest : public QObject
+{
+ Q_OBJECT
+private Q_SLOTS:
+ void initTestCase();
+ void testResourceFallbackFile();
+};
+
+void FallbackConfigResourcesTest::initTestCase()
+{
+ QStandardPaths::setTestModeEnabled(true);
+}
+
+void FallbackConfigResourcesTest::testResourceFallbackFile()
+{
+ KSharedConfig::Ptr sharedConfig = KSharedConfig::openConfig(QStringLiteral("kconfigtesting"), KConfig::NoGlobals);
+ QVERIFY(sharedConfig);
+
+ KConfigGroup cfg(sharedConfig, QStringLiteral("MainSection"));
+ QCOMPARE(cfg.readEntry(QStringLiteral("TestEntry"), QStringLiteral("UnexpectedData")), QStringLiteral("ExpectedData"));
+}
+
+QTEST_MAIN(FallbackConfigResourcesTest)
+
+#include "fallbackconfigresourcestest.moc"
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2014 Martin Gräßlin <mgraesslin@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
+*/
+#ifndef KCONFIG_AUTOTESTS_HELPER_H
+#define KCONFIG_AUTOTESTS_HELPER_H
+
+#include <QLocale>
+
+/**
+ * @brief Helper to store the current default QLocale and resetting to it in the dtor.
+ **/
+class DefaultLocale
+{
+public:
+ DefaultLocale()
+ : m_defaultLocale()
+ {
+ }
+ ~DefaultLocale()
+ {
+ QLocale::setDefault(m_defaultLocale);
+ }
+
+private:
+ QLocale m_defaultLocale;
+};
+
+#endif
--- /dev/null
+/* This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2024 Friedrich W. H. Kossebau <kossebau@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include <KConfig>
+#include <KConfigGroup>
+
+#include <QObject>
+#include <QStandardPaths>
+#include <QTest>
+
+static const QString s_test_subdir{QStringLiteral("kconfigtest_subdir/")};
+static const QString s_kconfig_test_subdir(s_test_subdir + QLatin1String("kconfigtest"));
+
+static const QString s_string_entry1(QStringLiteral("hello"));
+
+class KConfigBenchmark : public QObject
+{
+ Q_OBJECT
+
+private Q_SLOTS:
+ void initTestCase();
+
+ void testHasKey();
+ void testReadEntry();
+ void testKConfigGroupKeyList();
+};
+
+void KConfigBenchmark::initTestCase()
+{
+ // ensure we don't use files in the real config directory
+ QStandardPaths::setTestModeEnabled(true);
+
+ KConfig sc(s_kconfig_test_subdir);
+ KConfigGroup cg(&sc, QStringLiteral("Main"));
+ cg.deleteGroup();
+ cg.writeEntry("UsedEntry", s_string_entry1);
+}
+
+void KConfigBenchmark::testHasKey()
+{
+ bool hasUsedKey = false;
+ bool hasNotUsedKey = true;
+
+ KConfig sc(s_kconfig_test_subdir);
+ KConfigGroup cg(&sc, QStringLiteral("Main"));
+
+ QBENCHMARK {
+ hasUsedKey = cg.hasKey("UsedEntry");
+ hasNotUsedKey = cg.hasKey("NotUsedEntry");
+ }
+
+ QCOMPARE(hasUsedKey, true);
+ QCOMPARE(hasNotUsedKey, false);
+}
+
+void KConfigBenchmark::testReadEntry()
+{
+ QString usedEntry;
+ QString notUsedEntry;
+ const QString defaultEntry = QStringLiteral("Default");
+
+ KConfig sc(s_kconfig_test_subdir);
+ KConfigGroup cg(&sc, QStringLiteral("Main"));
+
+ QBENCHMARK {
+ usedEntry = cg.readEntry("UsedEntry", defaultEntry);
+ notUsedEntry = cg.readEntry("NotUsedEntry", defaultEntry);
+ }
+
+ QCOMPARE(usedEntry, s_string_entry1);
+ QCOMPARE(notUsedEntry, defaultEntry);
+}
+
+void KConfigBenchmark::testKConfigGroupKeyList()
+{
+ QStringList keyList;
+ const QString defaultEntry = QStringLiteral("Default");
+
+ KConfig sc(s_kconfig_test_subdir);
+ KConfigGroup cg(&sc, QStringLiteral("Main"));
+ cg.writeEntry("Entry2", s_string_entry1);
+ cg.writeEntry("Entry3", s_string_entry1);
+
+ QBENCHMARK {
+ keyList = cg.keyList();
+ }
+
+ const QStringList expectedKeyList{
+ QStringLiteral("Entry2"),
+ QStringLiteral("Entry3"),
+ QStringLiteral("UsedEntry"),
+ };
+ QCOMPARE(keyList, expectedKeyList);
+}
+
+QTEST_GUILESS_MAIN(KConfigBenchmark)
+
+#include "kconfig_benchmark.moc"
--- /dev/null
+# make sure the generated headers can be found
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
+include(ECMMarkAsTest)
+include(${CMAKE_SOURCE_DIR}/KF6ConfigMacros.cmake)
+
+macro(GEN_KCFG_TEST_SOURCE _testName _srcs)
+ KCONFIG_ADD_KCFG_FILES(${_srcs} ${_testName}.kcfgc ${ARGN})
+endmacro()
+
+function(kconfig_compiler_test ARG_NAME)
+ cmake_parse_arguments(PARSE_ARGV 1 ARG "GENERATE_MOC" "MAIN;CLASS_NAME;KCFG;KCFGC" "")
+
+ string(TOLOWER "${ARG_NAME}" _name_lc)
+
+ if("${ARG_MAIN}" STREQUAL "")
+ set(ARG_MAIN "${_name_lc}main.cpp")
+ endif()
+
+ if("${ARG_CLASS_NAME}" STREQUAL "")
+ set(ARG_CLASS_NAME "${ARG_NAME}")
+ endif()
+
+ if("${ARG_KCFG}" STREQUAL "")
+ set(ARG_KCFG "${_name_lc}.kcfg")
+ endif()
+
+ if("${ARG_KCFGC}" STREQUAL "")
+ set(ARG_KCFGC "${_name_lc}.kcfgc")
+ endif()
+
+ if(${ARG_GENERATE_MOC})
+ set(_moc GENERATE_MOC)
+ endif()
+
+ # execute the tests in ${CMAKE_CURRENT_BINARY_DIR} to ensure we can easily find the generated files
+
+ ecm_add_test(TEST_NAME ${ARG_NAME} ${ARG_MAIN} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+ KCONFIG_ADD_KCFG_FILES(${ARG_NAME} "${ARG_KCFGC}" ${_moc})
+ target_link_libraries(${ARG_NAME} Qt6::Test Qt6::Qml KF6::ConfigGui)
+
+ ecm_add_test(TEST_NAME ${ARG_NAME}_cmake ${ARG_MAIN} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+ get_filename_component(_kcfg_we "${ARG_KCFG}" NAME_WE)
+ configure_file("${ARG_KCFG}" "${_kcfg_we}_cmake.kcfg" COPYONLY)
+ kconfig_target_kcfg_file(${ARG_NAME}_cmake FILE "${CMAKE_CURRENT_BINARY_DIR}/${_kcfg_we}_cmake.kcfg" CLASS_NAME "${ARG_CLASS_NAME}" ${_moc} ${ARG_UNPARSED_ARGUMENTS})
+ target_link_libraries(${ARG_NAME}_cmake Qt6::Test Qt6::Qml KF6::ConfigGui)
+ add_dependencies(${ARG_NAME}_cmake ${ARG_NAME})
+endfunction()
+
+kconfig_compiler_test(Test1 PARENT_IN_CONSTRUCTOR MUTATORS)
+kconfig_compiler_test(Test2 MUTATORS GLOBAL_ENUMS ITEM_ACCESSORS SET_USER_TEXTS INHERITS MyPrefs INCLUDE_FILES myprefs.h MEMBER_VARIABLES public)
+kconfig_compiler_test(Test3 MUTATORS GLOBAL_ENUMS ITEM_ACCESSORS NAME_SPACE TestNameSpace)
+kconfig_compiler_test(Test3a MUTATORS GLOBAL_ENUMS ITEM_ACCESSORS NAME_SPACE TestNameSpace::InnerNameSpace)
+kconfig_compiler_test(Test4 SINGLETON MUTATORS)
+kconfig_compiler_test(Test5 PARENT_IN_CONSTRUCTOR SINGLETON MUTATORS GLOBAL_ENUMS)
+kconfig_compiler_test(Test6 MUTATORS GLOBAL_ENUMS)
+kconfig_compiler_test(Test7 MUTATORS GLOBAL_ENUMS)
+
+kconfig_compiler_test(Test8 KCFGC test8a.kcfgc KCFG test8a.kcfg CLASS_NAME Test8a PARENT_IN_CONSTRUCTOR MUTATORS)
+KCONFIG_ADD_KCFG_FILES(Test8 test8c.kcfgc)
+KCONFIG_ADD_KCFG_FILES(Test8 test8b.kcfgc)
+kconfig_target_kcfg_file(Test8_cmake FILE test8b.kcfg CLASS_NAME Test8b SINGLETON MUTATORS INCLUDE_FILES test8a.h INHERITS Test8a)
+kconfig_target_kcfg_file(Test8_cmake FILE test8c.kcfg CLASS_NAME Test8c SINGLETON PARENT_IN_CONSTRUCTOR MUTATORS)
+
+kconfig_compiler_test(Test9 MEMBER_VARIABLES public MUTATORS)
+kconfig_compiler_test(Test10 SINGLETON)
+
+kconfig_compiler_test(Test11 PARENT_IN_CONSTRUCTOR MUTATORS INHERITS MyPrefs INCLUDE_FILES myprefs.h MEMBER_VARIABLES public ITEM_ACCESSORS SET_USER_TEXTS USE_ENUM_TYPES DEFAULT_VALUE_GETTERS)
+KCONFIG_ADD_KCFG_FILES(Test11 test11a.kcfgc)
+kconfig_target_kcfg_file(Test11_cmake FILE test11a.kcfg CLASS_NAME Test11a MUTATORS INHERITS MyPrefs INCLUDE_FILES myprefs.h MEMBER_VARIABLES public ITEM_ACCESSORS SET_USER_TEXTS USE_ENUM_TYPES DEFAULT_VALUE_GETTERS)
+
+kconfig_compiler_test(Test12 test12main.cpp)
+kconfig_compiler_test(Test13 test13main.cpp MUTATORS GENERATE_PROPERTIES GENERATE_MOC)
+kconfig_compiler_test(Test14 KCFGC test14.kcfgc KCFG test14.kcfg CLASS_NAME Test14 GENERATE_PROPERTIES GENERATE_MOC SINGLETON QML_REGISTRATION)
+kconfig_compiler_test(Test15 CLASS_NAME Test15 GENERATE_PROPERTIES GENERATE_MOC SINGLETON QML_REGISTRATION)
+
+kconfig_compiler_test(test_state_config MAIN test_state_config_main.cpp CLASS_NAME MyStateConfig MUTATORS ITEM_ACCESSORS GENERATE_MOC)
+kconfig_compiler_test(test_emptyentries MAIN test_emptyentries_main.cpp CLASS_NAME QMakeBuilderSettings SINGLETON GENERATE_MOC)
+kconfig_compiler_test(test_subgroups MAIN test_subgroups_main.cpp CLASS_NAME TestSubgroups NOTIFIERS GENERATE_MOC)
+kconfig_compiler_test(test_dpointer MAIN test_dpointer_main.cpp CLASS_NAME TestDPointer SINGLETON MUTATORS MEMBER_VARIABLES dpointer ITEM_ACCESSORS SET_USER_TEXTS)
+kconfig_compiler_test(test_signal MAIN test_signal_main.cpp CLASS_NAME TestSignal SINGLETON MUTATORS MEMBER_VARIABLES private GENERATE_MOC)
+kconfig_compiler_test(test_notifiers MAIN test_notifiers_main.cpp CLASS_NAME TestNotifiers MUTATORS GLOBAL_ENUMS NOTIFIERS)
+
+########### next target ###############
+
+set(kconfigcompiler_test_signals_SRCS kconfigcompiler_test_signals.cpp)
+gen_kcfg_test_source(signals_test_singleton kconfigcompiler_test_signals_SRCS GENERATE_MOC)
+gen_kcfg_test_source(signals_test_no_singleton kconfigcompiler_test_signals_SRCS GENERATE_MOC)
+gen_kcfg_test_source(signals_test_singleton_dpointer kconfigcompiler_test_signals_SRCS GENERATE_MOC)
+gen_kcfg_test_source(signals_test_no_singleton_dpointer kconfigcompiler_test_signals_SRCS GENERATE_MOC)
+gen_kcfg_test_source(signals_test_singleton_itemaccessors kconfigcompiler_test_signals_SRCS GENERATE_MOC)
+
+ecm_add_test(${kconfigcompiler_test_signals_SRCS}
+ TEST_NAME kconfigcompiler-signals-test
+ LINK_LIBRARIES Qt6::Test KF6::ConfigGui
+)
+
+########### next target ###############
+
+set(test_properties_minmax_SRCS test_properties_minmax_main.cpp)
+gen_kcfg_test_source(test_properties_minmax test_properties_minmax_SRCS GENERATE_MOC)
+
+ecm_add_test(${test_properties_minmax_SRCS}
+ TEST_NAME test_properties_minmax
+ LINK_LIBRARIES KF6::ConfigGui
+)
+
+########### next target ###############
+
+set(test_param_minmax_SRCS test_param_minmax_main.cpp)
+gen_kcfg_test_source(test_param_minmax test_param_minmax_SRCS)
+
+ecm_add_test(${test_param_minmax_SRCS}
+ TEST_NAME test_param_minmax
+ LINK_LIBRARIES KF6::ConfigGui
+)
+
+########### next target ###############
+
+ecm_add_test(kconfigcompiler_test.cpp
+ TEST_NAME kconfigcompiler-basic-test
+ LINK_LIBRARIES Qt6::Test
+)
+
+
+########### next target ###############
+
+set(test_qcategory_SRCS test_qdebugcategorymain.cpp test_qdebugcategory_debug.cpp)
+gen_kcfg_test_source(test_qdebugcategory test_qcategory_SRCS)
+ecm_add_test(TEST_NAME test_qdebugcategory ${test_qcategory_SRCS})
+target_link_libraries(test_qdebugcategory KF6::ConfigGui)
+
+########### next target ###############
+
+set(test_translation_qt_SRCS test_translation_qt_main.cpp)
+gen_kcfg_test_source(test_translation_qt test_translation_qt_SRCS)
+
+ecm_add_test(TEST_NAME test_translation_qt ${test_translation_qt_SRCS})
+target_link_libraries(test_translation_qt KF6::ConfigGui)
+
+########### next target ###############
+
+set(test_translation_kde_SRCS test_translation_kde_main.cpp)
+gen_kcfg_test_source(test_translation_kde test_translation_kde_SRCS)
+
+ecm_add_test(TEST_NAME test_translation_kde ${test_translation_kde_SRCS})
+target_link_libraries(test_translation_kde KF6::ConfigGui)
+
+########### next target ###############
+
+set(test_translation_kde_domain_SRCS test_translation_kde_domain_main.cpp)
+gen_kcfg_test_source(test_translation_kde_domain test_translation_kde_domain_SRCS)
+
+ecm_add_test(TEST_NAME test_translation_kde_domain ${test_translation_kde_domain_SRCS})
+target_link_libraries(test_translation_kde_domain KF6::ConfigGui)
+
+########### next target ###############
+
+set(test_fileextensions_SRCS test_fileextensions_main.cxx)
+gen_kcfg_test_source(test_fileextensions test_fileextensions_SRCS)
+
+ecm_add_test(TEST_NAME test_fileextensions ${test_fileextensions_SRCS})
+target_link_libraries(test_fileextensions KF6::ConfigGui)
+
+
+####### next target ##########
+## If this to compiles, we are sure that the generation is correct.
+set(test_enums_and_properties_SRCS enum_group_main.cpp)
+gen_kcfg_test_source(test_enums_and_properties test_enums_and_properties_SRCS GENERATE_MOC)
+ecm_add_test(TEST_NAME test_enums_and_properties ${test_enums_and_properties_SRCS})
+target_link_libraries(test_enums_and_properties KF6::ConfigGui)
+
+ecm_add_test(test14qml.cpp TEST_NAME test14qml)
+qt6_add_qml_module(test14qml URI "org.kde.kconfig.test14" QML_FILES Test14Qml.qml)
+kconfig_add_kcfg_files(test14qml "test14.kcfgc" GENERATE_MOC)
+target_link_libraries(test14qml PRIVATE Qt6::Gui Qt6::Qml Qt6::Test KF6::ConfigGui)
+if (NOT QT6_IS_SHARED_LIBS_BUILD)
+ qt6_import_qml_plugins(test14qml)
+endif()
+
+ecm_add_test(test15qml.cpp TEST_NAME test15qml)
+qt6_add_qml_module(test15qml URI "org.kde.kconfig.test15" QML_FILES Test15Qml.qml)
+kconfig_add_kcfg_files(test15qml "test15.kcfgc" GENERATE_MOC)
+target_link_libraries(test15qml PRIVATE Qt6::Gui Qt6::Qml Qt6::Test KF6::ConfigGui)
+if (NOT QT6_IS_SHARED_LIBS_BUILD)
+ qt6_import_qml_plugins(test15qml)
+endif()
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2024 Nicolas Fella <nicolas.fella@gmx.de>
+
+ SPDX-License-Identifier: MIT
+*/
+
+import QtQuick
+import org.kde.kconfig.test14
+
+Item {
+
+ property url dir: test.picturesDir
+ property double brightness: test.brightness
+
+ Test14 {
+ id: test
+ }
+}
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2024 Nicolas Fella <nicolas.fella@gmx.de>
+
+ SPDX-License-Identifier: MIT
+*/
+
+import QtQuick
+import org.kde.kconfig.test15
+
+Item {
+ property url dir: Test15.picturesDir
+ property double brightness: Test15.brightness
+}
--- /dev/null
+int main()
+{
+ return 0;
+}
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2009 Pino Toscano <pino@kde.org>
+
+ SPDX-License-Identifier: MIT
+*/
+#include "test_enums_and_properties.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+ QGuiApplication app(argc, argv);
+
+ TestEnumsAndProperties t = TestEnumsAndProperties();
+
+ Q_UNUSED(app);
+ return 0;
+}
--- /dev/null
+/*
+ Tests for KConfig Compiler
+
+ SPDX-FileCopyrightText: 2005 Duncan Mac-Vicar <duncan@kde.org>
+ SPDX-FileCopyrightText: 2009 Pino Toscano <pino@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfigcompiler_test.h"
+#include <QDir>
+#include <QProcess>
+#include <QString>
+#include <QTest>
+#include <qstandardpaths.h>
+
+// QT5 TODO QTEST_GUILESS_MAIN(KConfigCompiler_Test)
+QTEST_MAIN(KConfigCompiler_Test)
+
+typedef const char *CompilerTestSet[];
+
+static CompilerTestSet testCases = {"test1.cpp",
+ "test1.h",
+ "test2.cpp",
+ "test2.h",
+ "test3.cpp",
+ "test3.h",
+ "test3a.cpp",
+ "test3a.h",
+ "test4.cpp",
+ "test4.h",
+ "test5.cpp",
+ "test5.h",
+ "test6.cpp",
+ "test6.h",
+ "test7.cpp",
+ "test7.h",
+ "test8a.cpp",
+ "test8a.h",
+ "test8b.cpp",
+ "test8b.h",
+ "test8c.cpp",
+ "test8c.h",
+ "test9.h",
+ "test9.cpp",
+ "test10.h",
+ "test10.cpp",
+ "test11.h",
+ "test11.cpp",
+ "test11a.h",
+ "test11a.cpp",
+ "test12.h",
+ "test12.cpp",
+ "test13.h",
+ "test13.cpp",
+ "test14.h",
+ "test14.cpp",
+ "test15.h",
+ "test15.cpp",
+ "test_dpointer.cpp",
+ "test_dpointer.h",
+ "test_qdebugcategory.cpp",
+ "test_qdebugcategory.h",
+ "test_signal.cpp",
+ "test_signal.h",
+ "test_notifiers.cpp",
+ "test_notifiers.h",
+ "test_translation_kde.cpp",
+ "test_translation_kde.h",
+ "test_translation_kde_domain.cpp",
+ "test_translation_kde_domain.h",
+ "test_translation_qt.cpp",
+ "test_translation_qt.h",
+ "test_emptyentries.cpp",
+ "test_emptyentries.h",
+ "test_properties_minmax.cpp",
+ "test_properties_minmax.h",
+ "test_param_minmax.cpp",
+ "test_param_minmax.h",
+ "test_subgroups.cpp",
+ "test_subgroups.h",
+ nullptr};
+
+static CompilerTestSet testCasesToRun = {"Test1",
+ "Test2",
+ "Test3",
+ "Test3a",
+ "Test4",
+ "Test5",
+ "Test6",
+ "Test7",
+ "Test8",
+ "Test9",
+ "Test10",
+ "Test11",
+ "Test12",
+ "Test13",
+ "Test14",
+ "Test15",
+ "test_enums_and_properties",
+ "test_dpointer",
+ "test_qdebugcategory",
+ "test_signal",
+ "test_translation_kde",
+ "test_translation_kde_domain",
+ "test_translation_qt",
+ "test_emptyentries",
+ "test_properties_minmax",
+ "test_param_minmax",
+ "test_subgroups",
+ "Test1_cmake",
+ "Test2_cmake",
+ "Test3_cmake",
+ "Test3a_cmake",
+ "Test4_cmake",
+ "Test5_cmake",
+ "Test6_cmake",
+ "Test7_cmake",
+ "Test8_cmake",
+ "Test9_cmake",
+ "Test10_cmake",
+ "Test11_cmake",
+ "Test12_cmake",
+ "Test13_cmake",
+ "Test14_cmake",
+ "Test15_cmake",
+ "test_dpointer_cmake",
+ "test_signal_cmake",
+ "test_emptyentries_cmake",
+ "test_subgroups_cmake",
+ nullptr};
+
+#if 0
+static CompilerTestSet willFailCases = {
+ // where is that QDir coming from?
+ //"test9.cpp", NULL
+ NULL
+};
+#endif
+
+void KConfigCompiler_Test::initTestCase()
+{
+ m_diffExe = QStandardPaths::findExecutable(QStringLiteral("diff"));
+ if (m_diffExe.isEmpty()) {
+ qDebug() << "diff command not found, detailed info on comparison failure will not be available.";
+ }
+}
+
+void KConfigCompiler_Test::testBaselineComparison_data()
+{
+ QTest::addColumn<QString>("testName");
+
+ for (const char **it = testCases; *it; ++it) {
+ QTest::newRow(*it) << QString::fromLatin1(*it);
+ }
+}
+
+void KConfigCompiler_Test::testBaselineComparison()
+{
+ QFETCH(QString, testName);
+
+ QFile file(testName);
+ QFile fileRef(QFINDTESTDATA(testName + QLatin1String(".ref")));
+
+ if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
+ qWarning() << "Failed to open" << file.fileName() << "(" << testName << ")";
+ QFAIL("Can't open file for comparison");
+ }
+ if (!fileRef.open(QIODevice::ReadOnly | QIODevice::Text)) {
+ qWarning() << "Failed to open" << fileRef.fileName() << "(" << testName << ".ref )";
+ QFAIL("Can't open file for comparison");
+ }
+ const QByteArray content = file.readAll();
+ const QByteArray contentRef = fileRef.readAll();
+
+ if (content != contentRef) {
+ appendFileDiff(fileRef.fileName(), file.fileName());
+ }
+
+ QVERIFY(content == contentRef);
+}
+
+void KConfigCompiler_Test::testRunning_data()
+{
+ QTest::addColumn<QString>("testName");
+
+ for (const char **it = testCasesToRun; *it; ++it) {
+ QTest::newRow(*it) << QString::fromLatin1(*it);
+ }
+}
+
+void KConfigCompiler_Test::testRunning()
+{
+ QFETCH(QString, testName);
+
+#ifdef Q_OS_WIN
+ testName += QLatin1String{".exe"};
+#endif
+
+ QString program = QFINDTESTDATA(testName);
+ QVERIFY2(!program.isEmpty(), qPrintable(testName + QLatin1String(" must exist!")));
+ QVERIFY2(QFile::exists(program), qPrintable(program + QLatin1String(" must exist!")));
+ QProcess process;
+ process.start(program, QStringList(), QIODevice::ReadOnly);
+ if (process.waitForStarted()) {
+ QVERIFY(process.waitForFinished());
+ }
+ QCOMPARE((int)process.error(), (int)QProcess::UnknownError);
+ QCOMPARE(process.exitCode(), 0);
+}
+
+void KConfigCompiler_Test::appendFileDiff(const QString &oldFile, const QString &newFile)
+{
+ if (m_diffExe.isEmpty()) {
+ return;
+ }
+
+ QStringList args({QStringLiteral("-u"), QFileInfo(oldFile).absoluteFilePath(), QFileInfo(newFile).absoluteFilePath()});
+
+ QProcess process;
+ process.start(m_diffExe, args, QIODevice::ReadOnly);
+ process.waitForStarted();
+ process.waitForFinished();
+
+ if (process.exitCode() == 1) {
+ const QString diffFileName = oldFile + QStringLiteral(".diff");
+ QFile diffFile(diffFileName);
+ QVERIFY2(diffFile.open(QIODevice::WriteOnly), qPrintable(QLatin1String("Could not save diff file for ") + oldFile));
+ diffFile.write(process.readAllStandardOutput());
+
+ // force a failure to print the flename where we stored the diff.
+ QVERIFY2(false, qPrintable(QLatin1String("This test failed, look at the following file for details: ") + diffFileName));
+ }
+}
+
+#include "moc_kconfigcompiler_test.cpp"
--- /dev/null
+/*
+ Tests for KConfig Compiler
+
+ SPDX-FileCopyrightText: 2005 Duncan Mac-Vicar <duncan@kde.org>
+ SPDX-FileCopyrightText: 2009 Pino Toscano <pino@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGCOMPILER_TEST_H
+#define KCONFIGCOMPILER_TEST_H
+
+#include <QFile>
+#include <QObject>
+
+class QString;
+
+class KConfigCompiler_Test : public QObject
+{
+ Q_OBJECT
+private Q_SLOTS:
+ void initTestCase();
+ void testBaselineComparison_data();
+ void testBaselineComparison();
+ void testRunning_data();
+ void testRunning();
+
+private:
+ void appendFileDiff(const QString &oldFile, const QString &newFile);
+
+ QString m_diffExe;
+};
+
+#endif
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2014 Alexander Richardson <alex.richardson@gmx.de>
+
+ SPDX-License-Identifier: MIT
+*/
+
+#include "signals_test_no_singleton.h"
+#include "signals_test_no_singleton_dpointer.h"
+#include "signals_test_singleton.h"
+#include "signals_test_singleton_dpointer.h"
+#include "signals_test_singleton_itemaccessors.h"
+#include <QDebug>
+#include <QFileInfo>
+#include <QSignalSpy>
+#include <QTemporaryFile>
+#include <QtGlobal>
+#include <QtTestGui>
+#include <functional>
+
+class KConfigCompiler_Test_Signals : public QObject
+{
+ Q_OBJECT
+private Q_SLOTS:
+ void testSetters();
+ void testSetters_data();
+ void testSetProperty();
+ void testSetProperty_data();
+ void initTestCase();
+ void cleanupTestCase();
+};
+
+static SignalsTestNoSingleton *noSingleton;
+static SignalsTestNoSingletonDpointer *noSingletonDpointer;
+
+void KConfigCompiler_Test_Signals::initTestCase()
+{
+ // These tests do a lot quite a few I/O operations, speed that up by using a QTemporaryFile.
+ // At least on Linux this is often a tmpfs which means only RAM operations
+ QTemporaryFile *tempFile1 = new QTemporaryFile(this);
+ QTemporaryFile *tempFile2 = new QTemporaryFile(this);
+ QTemporaryFile *tempFile3 = new QTemporaryFile(this);
+ QTemporaryFile *tempFile4 = new QTemporaryFile(this);
+ QTemporaryFile *tempFile5 = new QTemporaryFile(this);
+ QVERIFY(tempFile1->open());
+ QVERIFY(tempFile2->open());
+ QVERIFY(tempFile3->open());
+ QVERIFY(tempFile4->open());
+ QVERIFY(tempFile5->open());
+
+ SignalsTestSingleton::instance(QFileInfo(*tempFile1).absoluteFilePath());
+ SignalsTestSingletonDpointer::instance(QFileInfo(*tempFile2).absoluteFilePath());
+ noSingleton = new SignalsTestNoSingleton(KSharedConfig::openConfig(QFileInfo(*tempFile3).absoluteFilePath(), KConfig::SimpleConfig));
+ noSingletonDpointer = new SignalsTestNoSingletonDpointer(KSharedConfig::openConfig(QFileInfo(*tempFile4).absoluteFilePath(), KConfig::SimpleConfig));
+ SignalsTestSingletonItemAccessors::instance(QFileInfo(*tempFile5).absoluteFilePath());
+}
+
+void KConfigCompiler_Test_Signals::cleanupTestCase()
+{
+ // ensure these instances are deleted before the temporary files are closed
+ delete noSingleton;
+ delete noSingletonDpointer;
+ delete SignalsTestSingleton::self();
+ delete SignalsTestSingletonDpointer::self();
+ delete SignalsTestSingletonItemAccessors::self();
+}
+
+struct TestSettersArg {
+ // default constructor required for Q_DECLARE_METATYPE
+ TestSettersArg()
+ : obj(nullptr)
+ {
+ }
+ template<typename T>
+ TestSettersArg(T *object)
+ : obj(object)
+ {
+ // we can also call static methods using object->foo() so this works for all four cases
+ getter = [object]() {
+ return object->foo();
+ };
+ defaultGetter = [object]() {
+ return object->defaultFooValue();
+ };
+ setter = [object](const QString &s) {
+ object->setFoo(s);
+ };
+ }
+ KCoreConfigSkeleton *obj;
+ std::function<QString()> getter;
+ std::function<QString()> defaultGetter;
+ std::function<void(const QString &)> setter;
+};
+
+Q_DECLARE_METATYPE(TestSettersArg) // so that QFETCH works
+
+void KConfigCompiler_Test_Signals::testSetters_data()
+{
+ QTest::addColumn<TestSettersArg>("params");
+ QTest::newRow("singleton") << TestSettersArg(SignalsTestSingleton::self());
+ QTest::newRow("singleton dpointer") << TestSettersArg(SignalsTestSingletonDpointer::self());
+ QTest::newRow("non-singleton") << TestSettersArg(noSingleton);
+ QTest::newRow("non-singleton dpointer") << TestSettersArg(noSingleton);
+ QTest::newRow("singleton itemaccessors") << TestSettersArg(SignalsTestSingletonItemAccessors::self());
+}
+
+/** Ensure that a signal is emitted whenever the data is changed by using the generated setters */
+void KConfigCompiler_Test_Signals::testSetters()
+{
+ QFETCH(TestSettersArg, params);
+ const char *signal = SIGNAL(fooChanged(QString));
+ const QString defaultValue = QStringLiteral("default");
+ const QString changedValue = QStringLiteral("changed");
+
+ // make sure we are in the default state
+ params.obj->setDefaults();
+ params.obj->save();
+
+ QList<QVariant> args;
+ QSignalSpy spy(params.obj, signal);
+ QVERIFY2(spy.isValid(), signal);
+
+ // change value via setter, should get signal
+ QCOMPARE(params.getter(), defaultValue);
+ QCOMPARE(defaultValue, params.defaultGetter());
+ QCOMPARE(params.getter(), params.defaultGetter());
+ QVERIFY(changedValue != params.getter());
+ params.setter(changedValue);
+ QCOMPARE(params.getter(), changedValue);
+ QCOMPARE(spy.count(), 0); // should have no change yet, only after save()
+ params.obj->save();
+ QCOMPARE(spy.count(), 1);
+ args = spy.takeFirst();
+ QCOMPARE(args.size(), 1);
+ QCOMPARE(args[0].toString(), changedValue);
+
+ // reset to default values via setDefaults()
+ QVERIFY(params.getter() != params.defaultGetter());
+ QVERIFY(params.getter() != defaultValue);
+ QCOMPARE(params.getter(), changedValue);
+ params.obj->setDefaults();
+ QCOMPARE(params.getter(), params.defaultGetter());
+ QCOMPARE(params.getter(), defaultValue);
+
+ QCOMPARE(spy.count(), 0); // should have no change yet, only after save()
+ params.obj->save();
+ // TODO: This currently fails since setDefaults() does not yet cause emitting a signal
+ QCOMPARE(spy.count(), 1);
+ args = spy.takeFirst();
+ QCOMPARE(args.size(), 1);
+ QCOMPARE(args[0].value<QString>(), defaultValue);
+}
+
+Q_DECLARE_METATYPE(KCoreConfigSkeleton *)
+
+void KConfigCompiler_Test_Signals::testSetProperty_data()
+{
+ QTest::addColumn<KCoreConfigSkeleton *>("obj");
+ QTest::newRow("singleton") << static_cast<KCoreConfigSkeleton *>(SignalsTestSingleton::self());
+ QTest::newRow("singleton dpointer") << static_cast<KCoreConfigSkeleton *>(SignalsTestSingletonDpointer::self());
+ QTest::newRow("non-singleton") << static_cast<KCoreConfigSkeleton *>(noSingleton);
+ QTest::newRow("non-singleton dpointer") << static_cast<KCoreConfigSkeleton *>(noSingletonDpointer);
+ QTest::newRow("singleton itemaccessors") << static_cast<KCoreConfigSkeleton *>(SignalsTestSingletonItemAccessors::self());
+}
+
+/** Test that the signal is emitted when modifying the values using the underlying KConfigSkeletonItem (bypassing the setters) */
+void KConfigCompiler_Test_Signals::testSetProperty()
+{
+ QFETCH(KCoreConfigSkeleton *, obj);
+ const char *signal = SIGNAL(fooChanged(QString));
+ const QString propertyName = QStringLiteral("foo");
+ const QString defaultValue = QStringLiteral("default");
+ const QString newValue = QStringLiteral("changed");
+ obj->setDefaults();
+ obj->save();
+
+ KConfigSkeletonItem *item = obj->findItem(propertyName);
+ QVERIFY2(item, "Item must exist");
+ QVERIFY2(!item->isImmutable(), "Item must not be immutable");
+ QVERIFY2(!obj->isImmutable(propertyName), "Item must not be immutable");
+
+ // listen for all expected signals
+ QSignalSpy spy(obj, signal);
+ QVERIFY2(spy.isValid(), signal);
+
+ QVERIFY(item->isEqual(defaultValue));
+ QVERIFY(!item->isEqual(newValue));
+
+ item->setProperty(newValue); // change value now
+ // should have no change yet, only after save()
+ QCOMPARE(spy.count(), 0);
+ obj->save();
+ // now check for the signal emissions
+ QCOMPARE(spy.count(), 1);
+ QList<QVariant> args = spy.takeFirst();
+ QCOMPARE(args.size(), 1);
+ QVERIFY(item->isEqual(args[0]));
+
+ // now reset to default
+ QVERIFY(!item->isEqual(defaultValue));
+ item->setDefault();
+ QVERIFY(item->isEqual(defaultValue));
+ // should have no change yet, only after save()
+ QCOMPARE(spy.count(), 0);
+ obj->save();
+ // now check for the signal emissions
+ QCOMPARE(spy.count(), 1);
+ args = spy.takeFirst();
+ QCOMPARE(args.size(), 1);
+ QVERIFY(item->isEqual(args[0]));
+}
+
+QTEST_MAIN(KConfigCompiler_Test_Signals)
+
+#include "kconfigcompiler_test_signals.moc"
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2015 Chusslove Illich <caslav.ilic@gmx.net>
+
+ SPDX-License-Identifier: MIT
+*/
+
+/* This file is needed for test_translation_kde.
+ * It provides fake i18n* in order to avoid dependency on Ki18n framework.
+ */
+
+#ifndef KLOCALIZEDSTRING_H
+#define KLOCALIZEDSTRING_H
+
+inline QString i18n(const char *msgid)
+{
+ return QString::fromUtf8(msgid);
+}
+
+inline QString i18nc(const char *msgctxt, const char *msgid)
+{
+ Q_UNUSED(msgctxt);
+ return QString::fromUtf8(msgid);
+}
+
+inline QString i18nd(const char *domain, const char *msgid)
+{
+ Q_UNUSED(domain);
+ return QString::fromUtf8(msgid);
+}
+
+inline QString i18ndc(const char *domain, const char *msgctxt, const char *msgid)
+{
+ Q_UNUSED(domain);
+ Q_UNUSED(msgctxt);
+ return QString::fromUtf8(msgid);
+}
+
+#endif
--- /dev/null
+#ifndef MYPREFS_H
+#define MYPREFS_H
+
+#include <kconfigskeleton.h>
+
+class MyPrefs : public KConfigSkeleton
+{
+public:
+ MyPrefs(const QString &a)
+ : KConfigSkeleton(a)
+ {
+ }
+};
+
+#endif
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Author: Alex Richardson -->
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile arg="true"/>
+ <signal name="fooChanged">
+ <argument type="String">foo</argument>
+ </signal>
+ <group name="Something">
+ <entry key="foo" type="String">
+ <default>default</default>
+ <emit signal="fooChanged" />
+ </entry>
+ </group>
+</kcfg>
--- /dev/null
+File=signals_test.kcfg
+ClassName=SignalsTestNoSingleton
+Singleton=false
+Mutators=true
+MemberVariables=private
+GlobalEnums=false
+UseEnumTypes=false
+ItemAccessors=false
+DefaultValueGetters=true
--- /dev/null
+File=signals_test.kcfg
+ClassName=SignalsTestNoSingletonDpointer
+Singleton=false
+Mutators=true
+MemberVariables=dpointer
+GlobalEnums=false
+UseEnumTypes=false
+ItemAccessors=false
+DefaultValueGetters=true
--- /dev/null
+File=signals_test.kcfg
+ClassName=SignalsTestSingleton
+Singleton=true
+Mutators=true
+MemberVariables=private
+GlobalEnums=false
+UseEnumTypes=false
+ItemAccessors=false
+DefaultValueGetters=true
--- /dev/null
+File=signals_test.kcfg
+ClassName=SignalsTestSingletonDpointer
+Singleton=true
+Mutators=true
+MemberVariables=dpointer
+GlobalEnums=false
+UseEnumTypes=false
+ItemAccessors=false
+DefaultValueGetters=true
--- /dev/null
+File=signals_test.kcfg
+ClassName=SignalsTestSingletonItemAccessors
+Singleton=true
+Mutators=true
+MemberVariables=private
+GlobalEnums=false
+UseEnumTypes=false
+ItemAccessors=true
+DefaultValueGetters=true
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test1.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test1.h"
+
+Test1::Test1( const QString & transport, const QString & folder, QObject *parent )
+ : KConfigSkeleton( QStringLiteral( "examplerc" ) )
+ , mParamtransport(transport)
+ , mParamfolder(folder)
+{
+ setParent(parent);
+ setCurrentGroup( QStringLiteral( "General-%1" ).arg( mParamfolder ) );
+
+ KConfigSkeleton::ItemBool *itemOneOption;
+ itemOneOption = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "OneOption" ), mOneOption, true );
+ addItem( itemOneOption, QStringLiteral( "OneOption" ) );
+ KConfigSkeleton::ItemInt *itemAnotherOption;
+ itemAnotherOption = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Another Option" ), mAnotherOption, 5 );
+ addItem( itemAnotherOption, QStringLiteral( "AnotherOption" ) );
+ QList<KConfigSkeleton::ItemEnum::Choice> valuesListOption;
+ {
+ KConfigSkeleton::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("One");
+ valuesListOption.append( choice );
+ }
+ {
+ KConfigSkeleton::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("Two");
+ valuesListOption.append( choice );
+ }
+ {
+ KConfigSkeleton::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("Three");
+ valuesListOption.append( choice );
+ }
+ KConfigSkeleton::ItemEnum *itemListOption;
+ itemListOption = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "ListOption" ), mListOption, valuesListOption, EnumListOption::One );
+ addItem( itemListOption, QStringLiteral( "ListOption" ) );
+
+ setCurrentGroup( QStringLiteral( "MyOptions" ) );
+
+ KConfigSkeleton::ItemString *itemMyString;
+ itemMyString = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "MyString" ), mMyString, QStringLiteral( "Default String" ) );
+ addItem( itemMyString, QStringLiteral( "MyString" ) );
+ KConfigSkeleton::ItemPath *itemMyPath;
+ itemMyPath = new KConfigSkeleton::ItemPath( currentGroup(), QStringLiteral( "MyPath" ), mMyPath, QDir::homePath()+QString::fromLatin1(".hidden_file") );
+ addItem( itemMyPath, QStringLiteral( "MyPath" ) );
+ KConfigSkeleton::ItemInt *itemAnotherOption2;
+ itemAnotherOption2 = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Another Option" ), mAnotherOption2, 10 );
+ addItem( itemAnotherOption2, QStringLiteral( "AnotherOption2" ) );
+ QStringList defaultMyStringList;
+ defaultMyStringList.append( QString::fromUtf8( "up" ) );
+ defaultMyStringList.append( QString::fromUtf8( "down" ) );
+
+ KConfigSkeleton::ItemStringList *itemMyStringList;
+ itemMyStringList = new KConfigSkeleton::ItemStringList( currentGroup(), QStringLiteral( "MyStringList" ), mMyStringList, defaultMyStringList );
+ addItem( itemMyStringList, QStringLiteral( "MyStringList" ) );
+ QStringList defaultMyStringListHidden;
+ defaultMyStringListHidden.append( QString::fromUtf8( "up" ) );
+ defaultMyStringListHidden.append( QString::fromUtf8( "down" ) );
+
+ KConfigSkeleton::ItemStringList *itemMyStringListHidden;
+ itemMyStringListHidden = new KConfigSkeleton::ItemStringList( currentGroup(), QStringLiteral( "MyStringListHidden" ), mMyStringListHidden, defaultMyStringListHidden );
+ addItem( itemMyStringListHidden, QStringLiteral( "MyStringListHidden" ) );
+ KConfigSkeleton::ItemInt *itemMyNumber;
+ itemMyNumber = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "List-%1-%2" ).arg( mParamtransport, mParamfolder ), mMyNumber, 1 );
+ addItem( itemMyNumber, QStringLiteral( "MyNumber" ) );
+}
+
+Test1::~Test1()
+{
+}
+
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test1.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST1_H
+#define TEST1_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+#include <qdir.h>
+
+class Test1 : public KConfigSkeleton
+{
+ public:
+ class EnumListOption
+ {
+ public:
+ enum type { One, Two, Three, COUNT };
+ };
+
+ Test1( const QString & transport, const QString & folder, QObject *parent = nullptr );
+ ~Test1() override;
+
+ /**
+ Set One option
+ */
+ void setOneOption( bool v )
+ {
+ if (!isOneOptionImmutable())
+ mOneOption = v;
+ }
+
+ /**
+ Get One option
+ */
+ bool oneOption() const
+ {
+ return mOneOption;
+ }
+
+ /**
+ Is One option Immutable
+ */
+ bool isOneOptionImmutable() const
+ {
+ return isImmutable( QStringLiteral( "OneOption" ) );
+ }
+
+ /**
+ Set Another option
+ */
+ void setAnotherOption( int v )
+ {
+ if (!isAnotherOptionImmutable())
+ mAnotherOption = v;
+ }
+
+ /**
+ Get Another option
+ */
+ int anotherOption() const
+ {
+ return mAnotherOption;
+ }
+
+ /**
+ Is Another option Immutable
+ */
+ bool isAnotherOptionImmutable() const
+ {
+ return isImmutable( QStringLiteral( "AnotherOption" ) );
+ }
+
+ /**
+ Set This is some funky option
+ */
+ void setListOption( int v )
+ {
+ if (!isListOptionImmutable())
+ mListOption = v;
+ }
+
+ /**
+ Get This is some funky option
+ */
+ int listOption() const
+ {
+ return mListOption;
+ }
+
+ /**
+ Is This is some funky option Immutable
+ */
+ bool isListOptionImmutable() const
+ {
+ return isImmutable( QStringLiteral( "ListOption" ) );
+ }
+
+ /**
+ Set This is a string
+ */
+ void setMyString( const QString & v )
+ {
+ if (!isMyStringImmutable())
+ mMyString = v;
+ }
+
+ /**
+ Get This is a string
+ */
+ QString myString() const
+ {
+ return mMyString;
+ }
+
+ /**
+ Is This is a string Immutable
+ */
+ bool isMyStringImmutable() const
+ {
+ return isImmutable( QStringLiteral( "MyString" ) );
+ }
+
+ /**
+ Set This is a path
+ */
+ void setMyPath( const QString & v )
+ {
+ if (!isMyPathImmutable())
+ mMyPath = v;
+ }
+
+ /**
+ Get This is a path
+ */
+ QString myPath() const
+ {
+ return mMyPath;
+ }
+
+ /**
+ Is This is a path Immutable
+ */
+ bool isMyPathImmutable() const
+ {
+ return isImmutable( QStringLiteral( "MyPath" ) );
+ }
+
+ /**
+ Set Another option
+ */
+ void setAnotherOption2( int v )
+ {
+ if (!isAnotherOption2Immutable())
+ mAnotherOption2 = v;
+ }
+
+ /**
+ Get Another option
+ */
+ int anotherOption2() const
+ {
+ return mAnotherOption2;
+ }
+
+ /**
+ Is Another option Immutable
+ */
+ bool isAnotherOption2Immutable() const
+ {
+ return isImmutable( QStringLiteral( "AnotherOption2" ) );
+ }
+
+ /**
+ Set MyStringList
+ */
+ void setMyStringList( const QStringList & v )
+ {
+ if (!isMyStringListImmutable())
+ mMyStringList = v;
+ }
+
+ /**
+ Get MyStringList
+ */
+ QStringList myStringList() const
+ {
+ return mMyStringList;
+ }
+
+ /**
+ Is MyStringList Immutable
+ */
+ bool isMyStringListImmutable() const
+ {
+ return isImmutable( QStringLiteral( "MyStringList" ) );
+ }
+
+ /**
+ Set MyStringListHidden
+ */
+ void setMyStringListHidden( const QStringList & v )
+ {
+ if (!isMyStringListHiddenImmutable())
+ mMyStringListHidden = v;
+ }
+
+ /**
+ Get MyStringListHidden
+ */
+ QStringList myStringListHidden() const
+ {
+ return mMyStringListHidden;
+ }
+
+ /**
+ Is MyStringListHidden Immutable
+ */
+ bool isMyStringListHiddenImmutable() const
+ {
+ return isImmutable( QStringLiteral( "MyStringListHidden" ) );
+ }
+
+ /**
+ Set List Number
+ */
+ void setMyNumber( int v )
+ {
+ if (!isMyNumberImmutable())
+ mMyNumber = v;
+ }
+
+ /**
+ Get List Number
+ */
+ int myNumber() const
+ {
+ return mMyNumber;
+ }
+
+ /**
+ Is List Number Immutable
+ */
+ bool isMyNumberImmutable() const
+ {
+ return isImmutable( QStringLiteral( "MyNumber" ) );
+ }
+
+ protected:
+ QString mParamtransport;
+ QString mParamfolder;
+
+ // General-$(folder)
+ bool mOneOption;
+ int mAnotherOption;
+ int mListOption;
+
+ // MyOptions
+ QString mMyString;
+ QString mMyPath;
+ int mAnotherOption2;
+ QStringList mMyStringList;
+ QStringList mMyStringListHidden;
+ int mMyNumber;
+
+ private:
+};
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <include>qdir.h</include>
+ <kcfgfile name="examplerc">
+ <parameter name="transport" />
+ <parameter name="folder" />
+ </kcfgfile>
+ <group name="General-$(folder)">
+ <entry name="OneOption" type="Bool">
+ <label>One option</label>
+ <default>true</default>
+ </entry>
+ <entry name="AnotherOption" type="Int" key="Another Option">
+ <label>Another option</label>
+ <default>5</default>
+ </entry>
+ <entry name="ListOption" type="Enum">
+ <label>This is some funky option</label>
+ <whatsthis>And this is a longer description of this option. Just wondering, how will the translations of those be handled?</whatsthis>
+ <choices>
+ <choice name="One"/>
+ <choice name="Two"/>
+ <choice name="Three"/>
+ </choices>
+ <default>One</default>
+ </entry>
+ </group>
+ <group name="MyOptions">
+ <entry name="MyString" type="String">
+ <label>This is a string</label>
+ <default>Default String</default>
+ </entry>
+ <entry name="MyPath" type="Path">
+ <label>This is a path</label>
+ <default code="true">QDir::homePath()+QString::fromLatin1(".hidden_file")</default>
+ </entry>
+ <entry name="AnotherOption2" type="Int" key="Another Option">
+ <label>Another option</label>
+ <default>10</default>
+ </entry>
+ <entry name="MyStringList" type="StringList">
+ <default>up,down</default>
+ </entry>
+ <entry name="MyStringListHidden" hidden="true" type="StringList">
+ <default>up,down</default>
+ </entry>
+ <entry name="MyNumber" type="Int" key="List-$(transport)-$(folder)">
+ <label>List Number</label>
+ <default>1</default>
+ </entry>
+ </group>
+</kcfg>
--- /dev/null
+# Code generation options for kconfig_compiler_kf6
+ClassName=Test1
+File=test1.kcfg
+ParentInConstructor=true
+#
+# Singleton=false
+#
+# Inherits=KConfigSkeleton
+#
+# IncludeFiles=libkdepim/kpimprefs.h
+#
+# MemberVariables=public
+#
+### The following line includes the file exampleprefs_base_addon.h
+### It can be used to add extra functions and variables to the
+### class.
+# CustomAdditions=true
+#
+### Provide setFooBar(int) style functions
+Mutators=true
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test10.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test10.h"
+
+#include <qglobal.h>
+#include <QFile>
+
+class Test10Helper
+{
+ public:
+ Test10Helper() : q(nullptr) {}
+ ~Test10Helper() { delete q; q = nullptr; }
+ Test10Helper(const Test10Helper&) = delete;
+ Test10Helper& operator=(const Test10Helper&) = delete;
+ Test10 *q;
+};
+Q_GLOBAL_STATIC(Test10Helper, s_globalTest10)
+Test10 *Test10::self()
+{
+ if (!s_globalTest10()->q) {
+ new Test10;
+ s_globalTest10()->q->read();
+ }
+
+ return s_globalTest10()->q;
+}
+
+Test10::Test10( )
+ : KConfigSkeleton( QStringLiteral( "test10rc" ) )
+{
+ Q_ASSERT(!s_globalTest10()->q);
+ s_globalTest10()->q = this;
+ setCurrentGroup( QStringLiteral( "Foo" ) );
+
+ KConfigSkeleton::ItemUrl *itemFooBar;
+ itemFooBar = new KConfigSkeleton::ItemUrl( currentGroup(), QStringLiteral( "foo bar" ), mFooBar );
+ addItem( itemFooBar, QStringLiteral( "FooBar" ) );
+ KConfigSkeleton::ItemUrlList *itemBarFoo;
+ itemBarFoo = new KConfigSkeleton::ItemUrlList( currentGroup(), QStringLiteral( "bar foo" ), mBarFoo );
+ addItem( itemBarFoo, QStringLiteral( "BarFoo" ) );
+}
+
+Test10::~Test10()
+{
+ if (s_globalTest10.exists() && !s_globalTest10.isDestroyed()) {
+ s_globalTest10()->q = nullptr;
+ }
+}
+
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test10.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST10_H
+#define TEST10_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class Test10 : public KConfigSkeleton
+{
+ public:
+
+ static Test10 *self();
+ ~Test10() override;
+
+ /**
+ Get foo bar
+ */
+ static
+ QUrl fooBar()
+ {
+ return self()->mFooBar;
+ }
+
+ /**
+ Is foo bar Immutable
+ */
+ static
+ bool isFooBarImmutable()
+ {
+ return self()->isImmutable( QStringLiteral( "FooBar" ) );
+ }
+
+ /**
+ Get bar foo
+ */
+ static
+ QList<QUrl> barFoo()
+ {
+ return self()->mBarFoo;
+ }
+
+ /**
+ Is bar foo Immutable
+ */
+ static
+ bool isBarFooImmutable()
+ {
+ return self()->isImmutable( QStringLiteral( "BarFoo" ) );
+ }
+
+ protected:
+ Test10();
+ friend class Test10Helper;
+
+
+ // Foo
+ QUrl mFooBar;
+ QList<QUrl> mBarFoo;
+
+ private:
+};
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile name="test10rc"/>
+
+ <group name="Foo">
+ <entry name="FooBar" key="foo bar" type="Url"/>
+ <entry name="BarFoo" key="bar foo" type="UrlList"/>
+ </group>
+
+</kcfg>
--- /dev/null
+# Code generation options for kconfig_compiler_kf6
+File=test10.kcfg
+ClassName=Test10
+Singleton=true
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2007 Andreas Pakulat <apaku@gmx.de>
+
+ SPDX-License-Identifier: MIT
+*/
+
+#include "test10.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+ QGuiApplication app(argc, argv);
+ Q_UNUSED(app);
+ Test10 *t = Test10::self();
+ delete t;
+ return 0;
+}
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test11.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test11.h"
+
+Test11::Test11( QObject *parent )
+ : MyPrefs( QStringLiteral( "korganizerrc" ) )
+{
+ setParent(parent);
+ setCurrentGroup( QStringLiteral( "General" ) );
+
+ mAutoSaveItem = new MyPrefs::ItemBool( currentGroup(), QStringLiteral( "Auto Save" ), mAutoSave, false );
+ mAutoSaveItem->setLabel( QCoreApplication::translate("Test11", "Enable automatic saving of calendar") );
+ mAutoSaveItem->setWhatsThis( QCoreApplication::translate("Test11", "WhatsThis text for AutoSave option") );
+ addItem( mAutoSaveItem, QStringLiteral( "AutoSave" ) );
+ mAutoSaveIntervalItem = new MyPrefs::ItemInt( currentGroup(), QStringLiteral( "Auto Save Interval" ), mAutoSaveInterval, 10 );
+ mAutoSaveIntervalItem->setLabel( QCoreApplication::translate("Test11", "Auto Save Interval") );
+ addItem( mAutoSaveIntervalItem, QStringLiteral( "AutoSaveInterval" ) );
+ mConfirmItem = new MyPrefs::ItemBool( currentGroup(), QStringLiteral( "Confirm Deletes" ), mConfirm, true );
+ mConfirmItem->setLabel( QCoreApplication::translate("Test11", "Confirm deletes") );
+ addItem( mConfirmItem, QStringLiteral( "Confirm" ) );
+ mArchiveFileItem = new MyPrefs::ItemString( currentGroup(), QStringLiteral( "Archive File" ), mArchiveFile );
+ mArchiveFileItem->setLabel( QCoreApplication::translate("Test11", "Archive File") );
+ addItem( mArchiveFileItem, QStringLiteral( "ArchiveFile" ) );
+ QList<MyPrefs::ItemEnum::Choice> valuesDestination;
+ {
+ MyPrefs::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("standardDestination");
+ valuesDestination.append( choice );
+ }
+ {
+ MyPrefs::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("askDestination");
+ valuesDestination.append( choice );
+ }
+ {
+ MyPrefs::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("argl1");
+ choice.label = QCoreApplication::translate("Test11", "Argl1 Label");
+ valuesDestination.append( choice );
+ }
+ {
+ MyPrefs::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("argl2");
+ choice.whatsThis = QCoreApplication::translate("Test11", "Argl2 Whatsthis");
+ valuesDestination.append( choice );
+ }
+ {
+ MyPrefs::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("argl3");
+ choice.label = QCoreApplication::translate("Test11", "Argl3 Label");
+ choice.whatsThis = QCoreApplication::translate("Test11", "Argl3 Whatsthis");
+ valuesDestination.append( choice );
+ }
+ mDestinationItem = new MyPrefs::ItemEnum( currentGroup(), QStringLiteral( "Destination" ), mDestination, valuesDestination, EnumDestination::standardDestination );
+ mDestinationItem->setLabel( QCoreApplication::translate("Test11", "New Events/Todos Should") );
+ addItem( mDestinationItem, QStringLiteral( "Destination" ) );
+
+ setCurrentGroup( QStringLiteral( "Views" ) );
+
+ mHourSizeItem = new MyPrefs::ItemInt( currentGroup(), QStringLiteral( "Hour Size" ), mHourSize, 10 );
+ mHourSizeItem->setLabel( QCoreApplication::translate("Test11", "Hour Size") );
+ addItem( mHourSizeItem, QStringLiteral( "HourSize" ) );
+ mSelectionStartsEditorItem = new MyPrefs::ItemBool( currentGroup(), QStringLiteral( "SelectionStartsEditor" ), mSelectionStartsEditor, false );
+ mSelectionStartsEditorItem->setLabel( QCoreApplication::translate("Test11", "Time range selection in agenda view starts event editor") );
+ addItem( mSelectionStartsEditorItem, QStringLiteral( "SelectionStartsEditor" ) );
+
+ setCurrentGroup( QStringLiteral( "KOrganizer Plugins" ) );
+
+ QStringList defaultSelectedPlugins;
+ defaultSelectedPlugins.append( QString::fromUtf8( "holidays" ) );
+ defaultSelectedPlugins.append( QString::fromUtf8( "webexport" ) );
+
+ mSelectedPluginsItem = new MyPrefs::ItemStringList( currentGroup(), QStringLiteral( "SelectedPlugins" ), mSelectedPlugins, defaultSelectedPlugins );
+ mSelectedPluginsItem->setLabel( QCoreApplication::translate("Test11", "SelectedPlugins") );
+ addItem( mSelectedPluginsItem, QStringLiteral( "SelectedPlugins" ) );
+
+ setCurrentGroup( QStringLiteral( "Colors" ) );
+
+ mHighlightColorItem = new MyPrefs::ItemColor( currentGroup(), QStringLiteral( "Highlight Color" ), mHighlightColor, QColor( 100, 100, 255 ) );
+ mHighlightColorItem->setLabel( QCoreApplication::translate("Test11", "Highlight color") );
+ addItem( mHighlightColorItem, QStringLiteral( "HighlightColor" ) );
+ mAgendaBgColorItem = new MyPrefs::ItemColor( currentGroup(), QStringLiteral( "Agenda Background Color" ), mAgendaBgColor, QColor( 255, 255, 255 ) );
+ mAgendaBgColorItem->setLabel( QCoreApplication::translate("Test11", "Agenda view background color") );
+ addItem( mAgendaBgColorItem, QStringLiteral( "AgendaBgColor" ) );
+
+ setCurrentGroup( QStringLiteral( "Fonts" ) );
+
+ mTimeBarFontItem = new MyPrefs::ItemFont( currentGroup(), QStringLiteral( "TimeBar Font" ), mTimeBarFont );
+ mTimeBarFontItem->setLabel( QCoreApplication::translate("Test11", "Time bar") );
+ addItem( mTimeBarFontItem, QStringLiteral( "TimeBarFont" ) );
+
+ setCurrentGroup( QStringLiteral( "Email" ) );
+
+ QList<MyPrefs::ItemEnum::Choice> valuesEmailClient;
+ {
+ MyPrefs::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("sendmail");
+ choice.label = /*: @option */ QCoreApplication::translate("Test11", "Sendmail");
+ valuesEmailClient.append( choice );
+ }
+ {
+ MyPrefs::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("kmail");
+ choice.label = /*: @option */ QCoreApplication::translate("Test11", "KMail");
+ valuesEmailClient.append( choice );
+ }
+ mEmailClientItem = new MyPrefs::ItemEnum( currentGroup(), QStringLiteral( "EmailClient" ), mEmailClient, valuesEmailClient, kmail );
+ mEmailClientItem->setLabel( /*: @label */ QCoreApplication::translate("Test11", "Email client") );
+ mEmailClientItem->setWhatsThis( /*: @info:whatsthis */ QCoreApplication::translate("Test11", "<para>How to send email when an email alarm is triggered.<list><item>KMail: The email is sent automatically via <application>KMail</application>. <application>KMail</application> is started first if necessary.</item><item>Sendmail: The email is sent automatically. This option will only work if your system is configured to use <application>sendmail</application> or a sendmail compatible mail transport agent.</item></list></para>") );
+ addItem( mEmailClientItem, QStringLiteral( "EmailClient" ) );
+ QList<MyPrefs::ItemEnum::Choice> valuesDefaultReminderUnits;
+ {
+ MyPrefs::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("Minutes");
+ valuesDefaultReminderUnits.append( choice );
+ }
+ {
+ MyPrefs::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("HoursMinutes");
+ choice.label = /*: @option */ QCoreApplication::translate("Test11", "Hours/Minutes");
+ valuesDefaultReminderUnits.append( choice );
+ }
+ mDefaultReminderUnitsItem = new MyPrefs::ItemEnum( currentGroup(), QStringLiteral( "RemindUnits" ), mDefaultReminderUnits, valuesDefaultReminderUnits, TimePeriod::HoursMinutes );
+ mDefaultReminderUnitsItem->setLabel( /*: @label */ QCoreApplication::translate("Test11", "Reminder units") );
+ mDefaultReminderUnitsItem->setToolTip( /*: @info:tooltip */ QCoreApplication::translate("Test11", "Default reminder time units in the alarm edit dialog.") );
+ mDefaultReminderUnitsItem->setWhatsThis( /*: @info:whatsthis */ QCoreApplication::translate("Test11", "Default reminder time units in the alarm edit dialog.") );
+ addItem( mDefaultReminderUnitsItem, QStringLiteral( "DefaultReminderUnits" ) );
+
+ setCurrentGroup( QStringLiteral( "QueueRates" ) );
+
+ QList< QList<int> > defaultRate;
+ QList< int > defaultRateInit;
+
+ defaultRateInit.append( 15 );
+ defaultRateInit.append( 60 );
+ defaultRateInit.append( 0 );
+ defaultRate.append( defaultRateInit );
+
+ defaultRateInit.clear();
+ defaultRateInit.append( 40 );
+ defaultRateInit.append( 60 );
+ defaultRateInit.append( 0 );
+ defaultRate.append( defaultRateInit );
+
+ defaultRateInit.clear();
+ defaultRateInit.append( 1 );
+ defaultRateInit.append( 1 );
+ defaultRateInit.append( 0 );
+ defaultRate.append( defaultRateInit );
+
+ QList<int> defaultqueueRate;
+
+ mQueueRateItem[0] = new MyPrefs::ItemIntList( currentGroup(), QStringLiteral( "EmptyingRate 0" ), mQueueRate[0], defaultRate[0] );
+ mQueueRateItem[0]->setLabel( QCoreApplication::translate("Test11", "EmptyingRate queueRate$(QueueIndex)") );
+ addItem( mQueueRateItem[0], QStringLiteral( "queueRate0" ) );
+ mQueueRateItem[1] = new MyPrefs::ItemIntList( currentGroup(), QStringLiteral( "EmptyingRate 1" ), mQueueRate[1], defaultqueueRate );
+ mQueueRateItem[1]->setLabel( QCoreApplication::translate("Test11", "EmptyingRate queueRate$(QueueIndex)") );
+ addItem( mQueueRateItem[1], QStringLiteral( "queueRate1" ) );
+ mQueueRateItem[2] = new MyPrefs::ItemIntList( currentGroup(), QStringLiteral( "EmptyingRate 2" ), mQueueRate[2], defaultRate[2] );
+ mQueueRateItem[2]->setLabel( QCoreApplication::translate("Test11", "EmptyingRate queueRate$(QueueIndex)") );
+ addItem( mQueueRateItem[2], QStringLiteral( "queueRate2" ) );
+ mShowQueueTunerItem = new MyPrefs::ItemBool( currentGroup(), QStringLiteral( "ShowQueueTuner" ), mShowQueueTuner, false );
+ mShowQueueTunerItem->setLabel( QCoreApplication::translate("Test11", "ShowQueueTuner") );
+ addItem( mShowQueueTunerItem, QStringLiteral( "ShowQueueTuner" ) );
+}
+
+bool Test11::defaultAutoSaveValue_helper() const
+{
+
+ return false;
+}
+
+int Test11::defaultAutoSaveIntervalValue_helper() const
+{
+
+ return 10;
+}
+
+bool Test11::defaultConfirmValue_helper() const
+{
+
+ return true;
+}
+
+int Test11::defaultDestinationValue_helper() const
+{
+
+ return EnumDestination::standardDestination;
+}
+
+int Test11::defaultHourSizeValue_helper() const
+{
+
+ return 10;
+}
+
+bool Test11::defaultSelectionStartsEditorValue_helper() const
+{
+
+ return false;
+}
+
+QStringList Test11::defaultSelectedPluginsValue_helper() const
+{
+ QStringList defaultSelectedPlugins;
+ defaultSelectedPlugins.append( QString::fromUtf8( "holidays" ) );
+ defaultSelectedPlugins.append( QString::fromUtf8( "webexport" ) );
+
+ return defaultSelectedPlugins;
+}
+
+QColor Test11::defaultHighlightColorValue_helper() const
+{
+
+ return QColor( 100, 100, 255 );
+}
+
+QColor Test11::defaultAgendaBgColorValue_helper() const
+{
+
+ return QColor( 255, 255, 255 );
+}
+
+int Test11::defaultEmailClientValue_helper() const
+{
+
+ return kmail;
+}
+
+int Test11::defaultDefaultReminderUnitsValue_helper() const
+{
+
+ return TimePeriod::HoursMinutes;
+}
+
+QList<int> Test11::defaultQueueRateValue_helper( int i ) const
+{
+ QList< QList<int> > defaultRate;
+ QList< int > defaultRateInit;
+
+ defaultRateInit.append( 15 );
+ defaultRateInit.append( 60 );
+ defaultRateInit.append( 0 );
+ defaultRate.append( defaultRateInit );
+
+ defaultRateInit.clear();
+ defaultRateInit.append( 40 );
+ defaultRateInit.append( 60 );
+ defaultRateInit.append( 0 );
+ defaultRate.append( defaultRateInit );
+
+ defaultRateInit.clear();
+ defaultRateInit.append( 1 );
+ defaultRateInit.append( 1 );
+ defaultRateInit.append( 0 );
+ defaultRate.append( defaultRateInit );
+
+ QList<int> defaultqueueRate;
+
+ switch (i) {
+ case 0: return defaultRate[0];
+ case 2: return defaultRate[2];
+ default:
+ return defaultqueueRate;
+ }
+
+}
+
+bool Test11::defaultShowQueueTunerValue_helper() const
+{
+
+ return false;
+}
+
+Test11::~Test11()
+{
+}
+
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test11.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST11_H
+#define TEST11_H
+
+#include <myprefs.h>
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+#include "test11_types.h"
+
+class Test11 : public MyPrefs
+{
+ public:
+ class EnumDestination
+ {
+ public:
+ enum type { standardDestination, askDestination, argl1, argl2, argl3, COUNT };
+ };
+ enum MailClient { sendmail, kmail };
+
+ Test11( QObject *parent = nullptr );
+ ~Test11() override;
+
+ /**
+ Set Enable automatic saving of calendar
+ */
+ void setAutoSave( bool v )
+ {
+ if (!isAutoSaveImmutable())
+ mAutoSave = v;
+ }
+
+ /**
+ Get Enable automatic saving of calendar
+ */
+ bool autoSave() const
+ {
+ return mAutoSave;
+ }
+
+ /**
+ Is Enable automatic saving of calendar Immutable
+ */
+ bool isAutoSaveImmutable() const
+ {
+ return isImmutable( QStringLiteral( "AutoSave" ) );
+ }
+
+ /**
+ Get Enable automatic saving of calendar default value
+ */
+ bool defaultAutoSaveValue() const
+ {
+ return defaultAutoSaveValue_helper();
+ }
+
+ /**
+ Get Item object corresponding to AutoSave()
+ */
+ ItemBool *autoSaveItem()
+ {
+ return mAutoSaveItem;
+ }
+
+ /**
+ Set Auto Save Interval
+ */
+ void setAutoSaveInterval( int v )
+ {
+ if (!isAutoSaveIntervalImmutable())
+ mAutoSaveInterval = v;
+ }
+
+ /**
+ Get Auto Save Interval
+ */
+ int autoSaveInterval() const
+ {
+ return mAutoSaveInterval;
+ }
+
+ /**
+ Is Auto Save Interval Immutable
+ */
+ bool isAutoSaveIntervalImmutable() const
+ {
+ return isImmutable( QStringLiteral( "AutoSaveInterval" ) );
+ }
+
+ /**
+ Get Auto Save Interval default value
+ */
+ int defaultAutoSaveIntervalValue() const
+ {
+ return defaultAutoSaveIntervalValue_helper();
+ }
+
+ /**
+ Get Item object corresponding to AutoSaveInterval()
+ */
+ ItemInt *autoSaveIntervalItem()
+ {
+ return mAutoSaveIntervalItem;
+ }
+
+ /**
+ Set Confirm deletes
+ */
+ void setConfirm( bool v )
+ {
+ if (!isConfirmImmutable())
+ mConfirm = v;
+ }
+
+ /**
+ Get Confirm deletes
+ */
+ bool confirm() const
+ {
+ return mConfirm;
+ }
+
+ /**
+ Is Confirm deletes Immutable
+ */
+ bool isConfirmImmutable() const
+ {
+ return isImmutable( QStringLiteral( "Confirm" ) );
+ }
+
+ /**
+ Get Confirm deletes default value
+ */
+ bool defaultConfirmValue() const
+ {
+ return defaultConfirmValue_helper();
+ }
+
+ /**
+ Get Item object corresponding to Confirm()
+ */
+ ItemBool *confirmItem()
+ {
+ return mConfirmItem;
+ }
+
+ /**
+ Set Archive File
+ */
+ void setArchiveFile( const QString & v )
+ {
+ if (!isArchiveFileImmutable())
+ mArchiveFile = v;
+ }
+
+ /**
+ Get Archive File
+ */
+ QString archiveFile() const
+ {
+ return mArchiveFile;
+ }
+
+ /**
+ Is Archive File Immutable
+ */
+ bool isArchiveFileImmutable() const
+ {
+ return isImmutable( QStringLiteral( "ArchiveFile" ) );
+ }
+
+ /**
+ Get Item object corresponding to ArchiveFile()
+ */
+ ItemString *archiveFileItem()
+ {
+ return mArchiveFileItem;
+ }
+
+ /**
+ Set New Events/Todos Should
+ */
+ void setDestination( EnumDestination::type v )
+ {
+ if (!isDestinationImmutable())
+ mDestination = v;
+ }
+
+ /**
+ Get New Events/Todos Should
+ */
+ EnumDestination::type destination() const
+ {
+ return static_cast<EnumDestination::type>(mDestination);
+ }
+
+ /**
+ Is New Events/Todos Should Immutable
+ */
+ bool isDestinationImmutable() const
+ {
+ return isImmutable( QStringLiteral( "Destination" ) );
+ }
+
+ /**
+ Get New Events/Todos Should default value
+ */
+ EnumDestination::type defaultDestinationValue() const
+ {
+ return static_cast<EnumDestination::type>(defaultDestinationValue_helper());
+ }
+
+ /**
+ Get Item object corresponding to Destination()
+ */
+ ItemEnum *destinationItem()
+ {
+ return mDestinationItem;
+ }
+
+ /**
+ Set Hour Size
+ */
+ void setHourSize( int v )
+ {
+ if (!isHourSizeImmutable())
+ mHourSize = v;
+ }
+
+ /**
+ Get Hour Size
+ */
+ int hourSize() const
+ {
+ return mHourSize;
+ }
+
+ /**
+ Is Hour Size Immutable
+ */
+ bool isHourSizeImmutable() const
+ {
+ return isImmutable( QStringLiteral( "HourSize" ) );
+ }
+
+ /**
+ Get Hour Size default value
+ */
+ int defaultHourSizeValue() const
+ {
+ return defaultHourSizeValue_helper();
+ }
+
+ /**
+ Get Item object corresponding to HourSize()
+ */
+ ItemInt *hourSizeItem()
+ {
+ return mHourSizeItem;
+ }
+
+ /**
+ Set Time range selection in agenda view starts event editor
+ */
+ void setSelectionStartsEditor( bool v )
+ {
+ if (!isSelectionStartsEditorImmutable())
+ mSelectionStartsEditor = v;
+ }
+
+ /**
+ Get Time range selection in agenda view starts event editor
+ */
+ bool selectionStartsEditor() const
+ {
+ return mSelectionStartsEditor;
+ }
+
+ /**
+ Is Time range selection in agenda view starts event editor Immutable
+ */
+ bool isSelectionStartsEditorImmutable() const
+ {
+ return isImmutable( QStringLiteral( "SelectionStartsEditor" ) );
+ }
+
+ /**
+ Get Time range selection in agenda view starts event editor default value
+ */
+ bool defaultSelectionStartsEditorValue() const
+ {
+ return defaultSelectionStartsEditorValue_helper();
+ }
+
+ /**
+ Get Item object corresponding to SelectionStartsEditor()
+ */
+ ItemBool *selectionStartsEditorItem()
+ {
+ return mSelectionStartsEditorItem;
+ }
+
+ /**
+ Set SelectedPlugins
+ */
+ void setSelectedPlugins( const QStringList & v )
+ {
+ if (!isSelectedPluginsImmutable())
+ mSelectedPlugins = v;
+ }
+
+ /**
+ Get SelectedPlugins
+ */
+ QStringList selectedPlugins() const
+ {
+ return mSelectedPlugins;
+ }
+
+ /**
+ Is SelectedPlugins Immutable
+ */
+ bool isSelectedPluginsImmutable() const
+ {
+ return isImmutable( QStringLiteral( "SelectedPlugins" ) );
+ }
+
+ /**
+ Get SelectedPlugins default value
+ */
+ QStringList defaultSelectedPluginsValue() const
+ {
+ return defaultSelectedPluginsValue_helper();
+ }
+
+ /**
+ Get Item object corresponding to SelectedPlugins()
+ */
+ ItemStringList *selectedPluginsItem()
+ {
+ return mSelectedPluginsItem;
+ }
+
+ /**
+ Set Highlight color
+ */
+ void setHighlightColor( const QColor & v )
+ {
+ if (!isHighlightColorImmutable())
+ mHighlightColor = v;
+ }
+
+ /**
+ Get Highlight color
+ */
+ QColor highlightColor() const
+ {
+ return mHighlightColor;
+ }
+
+ /**
+ Is Highlight color Immutable
+ */
+ bool isHighlightColorImmutable() const
+ {
+ return isImmutable( QStringLiteral( "HighlightColor" ) );
+ }
+
+ /**
+ Get Highlight color default value
+ */
+ QColor defaultHighlightColorValue() const
+ {
+ return defaultHighlightColorValue_helper();
+ }
+
+ /**
+ Get Item object corresponding to HighlightColor()
+ */
+ ItemColor *highlightColorItem()
+ {
+ return mHighlightColorItem;
+ }
+
+ /**
+ Set Agenda view background color
+ */
+ void setAgendaBgColor( const QColor & v )
+ {
+ if (!isAgendaBgColorImmutable())
+ mAgendaBgColor = v;
+ }
+
+ /**
+ Get Agenda view background color
+ */
+ QColor agendaBgColor() const
+ {
+ return mAgendaBgColor;
+ }
+
+ /**
+ Is Agenda view background color Immutable
+ */
+ bool isAgendaBgColorImmutable() const
+ {
+ return isImmutable( QStringLiteral( "AgendaBgColor" ) );
+ }
+
+ /**
+ Get Agenda view background color default value
+ */
+ QColor defaultAgendaBgColorValue() const
+ {
+ return defaultAgendaBgColorValue_helper();
+ }
+
+ /**
+ Get Item object corresponding to AgendaBgColor()
+ */
+ ItemColor *agendaBgColorItem()
+ {
+ return mAgendaBgColorItem;
+ }
+
+ /**
+ Set Time bar
+ */
+ void setTimeBarFont( const QFont & v )
+ {
+ if (!isTimeBarFontImmutable())
+ mTimeBarFont = v;
+ }
+
+ /**
+ Get Time bar
+ */
+ QFont timeBarFont() const
+ {
+ return mTimeBarFont;
+ }
+
+ /**
+ Is Time bar Immutable
+ */
+ bool isTimeBarFontImmutable() const
+ {
+ return isImmutable( QStringLiteral( "TimeBarFont" ) );
+ }
+
+ /**
+ Get Item object corresponding to TimeBarFont()
+ */
+ ItemFont *timeBarFontItem()
+ {
+ return mTimeBarFontItem;
+ }
+
+ /**
+ Set Email client
+ */
+ void setEmailClient( MailClient v )
+ {
+ if (!isEmailClientImmutable())
+ mEmailClient = v;
+ }
+
+ /**
+ Get Email client
+ */
+ MailClient emailClient() const
+ {
+ return static_cast<MailClient>(mEmailClient);
+ }
+
+ /**
+ Is Email client Immutable
+ */
+ bool isEmailClientImmutable() const
+ {
+ return isImmutable( QStringLiteral( "EmailClient" ) );
+ }
+
+ /**
+ Get Email client default value
+ */
+ MailClient defaultEmailClientValue() const
+ {
+ return static_cast<MailClient>(defaultEmailClientValue_helper());
+ }
+
+ /**
+ Get Item object corresponding to EmailClient()
+ */
+ ItemEnum *emailClientItem()
+ {
+ return mEmailClientItem;
+ }
+
+ /**
+ Set Reminder units
+ */
+ void setDefaultReminderUnits( TimePeriod::Units v )
+ {
+ if (!isDefaultReminderUnitsImmutable())
+ mDefaultReminderUnits = v;
+ }
+
+ /**
+ Get Reminder units
+ */
+ TimePeriod::Units defaultReminderUnits() const
+ {
+ return static_cast<TimePeriod::Units>(mDefaultReminderUnits);
+ }
+
+ /**
+ Is Reminder units Immutable
+ */
+ bool isDefaultReminderUnitsImmutable() const
+ {
+ return isImmutable( QStringLiteral( "DefaultReminderUnits" ) );
+ }
+
+ /**
+ Get Reminder units default value
+ */
+ TimePeriod::Units defaultDefaultReminderUnitsValue() const
+ {
+ return static_cast<TimePeriod::Units>(defaultDefaultReminderUnitsValue_helper());
+ }
+
+ /**
+ Get Item object corresponding to DefaultReminderUnits()
+ */
+ ItemEnum *defaultReminderUnitsItem()
+ {
+ return mDefaultReminderUnitsItem;
+ }
+
+ /**
+ Set EmptyingRate $(QueueIndex)
+ */
+ void setQueueRate( int i, const QList<int> & v )
+ {
+ if (!isQueueRateImmutable( i ))
+ mQueueRate[i] = v;
+ }
+
+ /**
+ Get EmptyingRate $(QueueIndex)
+ */
+ QList<int> queueRate( int i ) const
+ {
+ return mQueueRate[i];
+ }
+
+ /**
+ Is EmptyingRate $(QueueIndex) Immutable
+ */
+ bool isQueueRateImmutable( int i ) const
+ {
+ return isImmutable( QStringLiteral( "queueRate%1" ).arg( i ) );
+ }
+
+ /**
+ Get EmptyingRate $(QueueIndex) default value
+ */
+ QList<int> defaultQueueRateValue( int i ) const
+ {
+ return defaultQueueRateValue_helper( i );
+ }
+
+ /**
+ Get Item object corresponding to queueRate()
+ */
+ ItemIntList *queueRateItem( int i )
+ {
+ return mQueueRateItem[i];
+ }
+
+ /**
+ Set ShowQueueTuner
+ */
+ void setShowQueueTuner( bool v )
+ {
+ if (!isShowQueueTunerImmutable())
+ mShowQueueTuner = v;
+ }
+
+ /**
+ Get ShowQueueTuner
+ */
+ bool showQueueTuner() const
+ {
+ return mShowQueueTuner;
+ }
+
+ /**
+ Is ShowQueueTuner Immutable
+ */
+ bool isShowQueueTunerImmutable() const
+ {
+ return isImmutable( QStringLiteral( "ShowQueueTuner" ) );
+ }
+
+ /**
+ Get ShowQueueTuner default value
+ */
+ bool defaultShowQueueTunerValue() const
+ {
+ return defaultShowQueueTunerValue_helper();
+ }
+
+ /**
+ Get Item object corresponding to ShowQueueTuner()
+ */
+ ItemBool *showQueueTunerItem()
+ {
+ return mShowQueueTunerItem;
+ }
+
+ protected:
+ public:
+
+ // General
+ bool mAutoSave;
+ bool defaultAutoSaveValue_helper() const;
+ int mAutoSaveInterval;
+ int defaultAutoSaveIntervalValue_helper() const;
+ bool mConfirm;
+ bool defaultConfirmValue_helper() const;
+ QString mArchiveFile;
+ QString defaultArchiveFileValue_helper() const;
+ int mDestination;
+ int defaultDestinationValue_helper() const;
+
+ // Views
+ int mHourSize;
+ int defaultHourSizeValue_helper() const;
+ bool mSelectionStartsEditor;
+ bool defaultSelectionStartsEditorValue_helper() const;
+
+ // KOrganizer Plugins
+ QStringList mSelectedPlugins;
+ QStringList defaultSelectedPluginsValue_helper() const;
+
+ // Colors
+ QColor mHighlightColor;
+ QColor defaultHighlightColorValue_helper() const;
+ QColor mAgendaBgColor;
+ QColor defaultAgendaBgColorValue_helper() const;
+
+ // Fonts
+ QFont mTimeBarFont;
+ QFont defaultTimeBarFontValue_helper() const;
+
+ // Email
+ int mEmailClient;
+ int defaultEmailClientValue_helper() const;
+ int mDefaultReminderUnits;
+ int defaultDefaultReminderUnitsValue_helper() const;
+
+ // QueueRates
+ QList<int> mQueueRate[3];
+ QList<int> defaultQueueRateValue_helper( int i ) const;
+ bool mShowQueueTuner;
+ bool defaultShowQueueTunerValue_helper() const;
+
+ private:
+ ItemBool *mAutoSaveItem;
+ ItemInt *mAutoSaveIntervalItem;
+ ItemBool *mConfirmItem;
+ ItemString *mArchiveFileItem;
+ ItemEnum *mDestinationItem;
+ ItemInt *mHourSizeItem;
+ ItemBool *mSelectionStartsEditorItem;
+ ItemStringList *mSelectedPluginsItem;
+ ItemColor *mHighlightColorItem;
+ ItemColor *mAgendaBgColorItem;
+ ItemFont *mTimeBarFontItem;
+ ItemEnum *mEmailClientItem;
+ ItemEnum *mDefaultReminderUnitsItem;
+ ItemIntList *mQueueRateItem[3];
+ ItemBool *mShowQueueTunerItem;
+};
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+
+ <include>"test11_types.h"</include>
+
+ <kcfgfile name="korganizerrc"/>
+
+ <group name="General">
+ <entry type="Bool" key="Auto Save">
+ <label>Enable automatic saving of calendar</label>
+ <whatsthis>WhatsThis text for AutoSave option</whatsthis>
+ <default>false</default>
+ </entry>
+ <entry type="Int" key="Auto Save Interval">
+ <default>10</default>
+ </entry>
+ <entry type="Bool" key="Confirm Deletes" name="Confirm">
+ <label>Confirm deletes</label>
+ <default>true</default>
+ </entry>
+ <entry type="String" key="Archive File">
+ </entry>
+ <entry type="Enum" key="Destination" name="Destination">
+ <label>New Events/Todos Should</label>
+ <choices>
+ <choice name="standardDestination">
+ </choice>
+ <choice name="askDestination">
+ </choice>
+ <choice name="argl1">
+ <label>Argl1 Label</label>
+ </choice>
+ <choice name="argl2">
+ <whatsthis>Argl2 Whatsthis</whatsthis>
+ </choice>
+ <choice name="argl3">
+ <label>Argl3 Label</label>
+ <whatsthis>Argl3 Whatsthis</whatsthis>
+ </choice>
+ </choices>
+ <default>standardDestination</default>
+ </entry>
+ </group>
+
+ <group name="Views">
+ <entry type="Int" key="Hour Size">
+ <default>10</default>
+ </entry>
+ <entry type="Bool" name="SelectionStartsEditor">
+ <label>Time range selection in agenda view starts event editor</label>
+ <default>false</default>
+ </entry>
+ </group>
+
+ <group name="KOrganizer Plugins">
+ <entry type="StringList" name="SelectedPlugins">
+ <default>holidays,webexport</default>
+ </entry>
+ </group>
+
+ <group name="Colors">
+ <entry type="Color" key="Highlight Color">
+ <label>Highlight color</label>
+ <default>100, 100, 255</default>
+ </entry>
+ <entry type="Color" key="Agenda Background Color" name="AgendaBgColor">
+ <label>Agenda view background color</label>
+ <default>255, 255, 255</default>
+ </entry>
+ </group>
+
+ <group name="Fonts">
+ <entry type="Font" key="TimeBar Font">
+ <label>Time bar</label>
+ </entry>
+ </group>
+
+ <group name="Email">
+ <entry name="EmailClient" key="EmailClient" type="Enum">
+ <label context="@label">Email client</label>
+ <whatsthis context="@info:whatsthis"><para>How to send email when an email alarm is triggered.<list><item>KMail: The email is sent automatically via <application>KMail</application>. <application>KMail</application> is started first if necessary.</item><item>Sendmail: The email is sent automatically. This option will only work if your system is configured to use <application>sendmail</application> or a sendmail compatible mail transport agent.</item></list></para></whatsthis>
+ <choices name="MailClient">
+ <choice name="sendmail"><label context="@option">Sendmail</label></choice>
+ <choice name="kmail"><label context="@option">KMail</label></choice>
+ </choices>
+ <default>kmail</default>
+ </entry>
+
+ <entry name="DefaultReminderUnits" key="RemindUnits" type="Enum">
+ <label context="@label">Reminder units</label>
+ <whatsthis context="@info:whatsthis">Default reminder time units in the alarm edit dialog.</whatsthis>
+ <tooltip context="@info:tooltip">Default reminder time units in the alarm edit dialog.</tooltip>
+ <choices name="TimePeriod::Units">
+ <choice name="Minutes"></choice>
+ <choice name="HoursMinutes"><label context="@option">Hours/Minutes</label></choice>
+ </choices>
+ <default>HoursMinutes</default>
+ </entry>
+ </group>
+
+ <group name="QueueRates">
+ <entry name="queueRate$(QueueIndex)" type="IntList" key="EmptyingRate $(QueueIndex)">
+ <!-- kconfig_compiler_kf6 really should do this for me... -->
+ <code> QList< QList<int> > defaultRate;
+ QList< int > defaultRateInit;
+
+ defaultRateInit.append( 15 );
+ defaultRateInit.append( 60 );
+ defaultRateInit.append( 0 );
+ defaultRate.append( defaultRateInit );
+
+ defaultRateInit.clear();
+ defaultRateInit.append( 40 );
+ defaultRateInit.append( 60 );
+ defaultRateInit.append( 0 );
+ defaultRate.append( defaultRateInit );
+
+ defaultRateInit.clear();
+ defaultRateInit.append( 1 );
+ defaultRateInit.append( 1 );
+ defaultRateInit.append( 0 );
+ defaultRate.append( defaultRateInit );
+ </code>
+ <parameter name="QueueIndex" type="Int" max="2"/>
+ <default param="0" code="true">defaultRate[0]</default>
+ <default param="2" code="true">defaultRate[2]</default>
+ </entry>
+ <entry key="ShowQueueTuner" type="Bool">
+ <default>false</default>
+ </entry>
+ </group>
+
+</kcfg>
--- /dev/null
+# Code generation options for kconfig_compiler_kf6
+File=test11.kcfg
+ClassName=Test11
+ParentInConstructor=true
+Singleton=false
+Mutators=true
+Inherits=MyPrefs
+IncludeFiles=myprefs.h
+MemberVariables=public
+GlobalEnums=false
+ItemAccessors=true
+SetUserTexts=true
+UseEnumTypes=true
+DefaultValueGetters=true
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2009 Pino Toscano <pino@kde.org>
+
+ SPDX-License-Identifier: MIT
+*/
+
+#ifndef TEST11_TYPES_H
+#define TEST11_TYPES_H
+
+class TimePeriod
+{
+public:
+ enum Units {
+ Minutes,
+ HoursMinutes,
+ Days,
+ Weeks,
+ };
+};
+
+#endif
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test11a.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test11a.h"
+
+Test11a::Test11a( )
+ : MyPrefs( QStringLiteral( "korganizerrc" ) )
+{
+ setCurrentGroup( QStringLiteral( "General" ) );
+
+ mAutoSaveItem = new MyPrefs::ItemBool( currentGroup(), QStringLiteral( "Auto Save" ), mAutoSave, false );
+ mAutoSaveItem->setLabel( QCoreApplication::translate("Test11a", "Enable automatic saving of calendar") );
+ mAutoSaveItem->setWhatsThis( QCoreApplication::translate("Test11a", "WhatsThis text for AutoSave option") );
+ addItem( mAutoSaveItem, QStringLiteral( "AutoSave" ) );
+ mAutoSaveIntervalItem = new MyPrefs::ItemInt( currentGroup(), QStringLiteral( "Auto Save Interval" ), mAutoSaveInterval, 10 );
+ mAutoSaveIntervalItem->setLabel( QCoreApplication::translate("Test11a", "Auto Save Interval") );
+ addItem( mAutoSaveIntervalItem, QStringLiteral( "AutoSaveInterval" ) );
+ mConfirmItem = new MyPrefs::ItemBool( currentGroup(), QStringLiteral( "Confirm Deletes" ), mConfirm, true );
+ mConfirmItem->setLabel( QCoreApplication::translate("Test11a", "Confirm deletes") );
+ addItem( mConfirmItem, QStringLiteral( "Confirm" ) );
+ mArchiveFileItem = new MyPrefs::ItemString( currentGroup(), QStringLiteral( "Archive File" ), mArchiveFile );
+ mArchiveFileItem->setLabel( QCoreApplication::translate("Test11a", "Archive File") );
+ addItem( mArchiveFileItem, QStringLiteral( "ArchiveFile" ) );
+ QList<MyPrefs::ItemEnum::Choice> valuesDestination;
+ {
+ MyPrefs::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("standardDestination");
+ valuesDestination.append( choice );
+ }
+ {
+ MyPrefs::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("askDestination");
+ valuesDestination.append( choice );
+ }
+ {
+ MyPrefs::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("argl1");
+ choice.label = QCoreApplication::translate("Test11a", "Argl1 Label");
+ valuesDestination.append( choice );
+ }
+ {
+ MyPrefs::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("argl2");
+ choice.whatsThis = QCoreApplication::translate("Test11a", "Argl2 Whatsthis");
+ valuesDestination.append( choice );
+ }
+ {
+ MyPrefs::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("argl3");
+ choice.label = QCoreApplication::translate("Test11a", "Argl3 Label");
+ choice.whatsThis = QCoreApplication::translate("Test11a", "Argl3 Whatsthis");
+ valuesDestination.append( choice );
+ }
+ mDestinationItem = new MyPrefs::ItemEnum( currentGroup(), QStringLiteral( "Destination" ), mDestination, valuesDestination, EnumDestination::standardDestination );
+ mDestinationItem->setLabel( QCoreApplication::translate("Test11a", "New Events/Todos Should") );
+ addItem( mDestinationItem, QStringLiteral( "Destination" ) );
+
+ setCurrentGroup( QStringLiteral( "Views" ) );
+
+ mHourSizeItem = new MyPrefs::ItemInt( currentGroup(), QStringLiteral( "Hour Size" ), mHourSize, 10 );
+ mHourSizeItem->setLabel( QCoreApplication::translate("Test11a", "Hour Size") );
+ addItem( mHourSizeItem, QStringLiteral( "HourSize" ) );
+ mSelectionStartsEditorItem = new MyPrefs::ItemBool( currentGroup(), QStringLiteral( "SelectionStartsEditor" ), mSelectionStartsEditor, false );
+ mSelectionStartsEditorItem->setLabel( QCoreApplication::translate("Test11a", "Time range selection in agenda view starts event editor") );
+ addItem( mSelectionStartsEditorItem, QStringLiteral( "SelectionStartsEditor" ) );
+
+ setCurrentGroup( QStringLiteral( "KOrganizer Plugins" ) );
+
+ QStringList defaultSelectedPlugins;
+ defaultSelectedPlugins.append( QString::fromUtf8( "holidays" ) );
+ defaultSelectedPlugins.append( QString::fromUtf8( "webexport" ) );
+
+ mSelectedPluginsItem = new MyPrefs::ItemStringList( currentGroup(), QStringLiteral( "SelectedPlugins" ), mSelectedPlugins, defaultSelectedPlugins );
+ mSelectedPluginsItem->setLabel( QCoreApplication::translate("Test11a", "SelectedPlugins") );
+ addItem( mSelectedPluginsItem, QStringLiteral( "SelectedPlugins" ) );
+
+ setCurrentGroup( QStringLiteral( "Colors" ) );
+
+ mHighlightColorItem = new MyPrefs::ItemColor( currentGroup(), QStringLiteral( "Highlight Color" ), mHighlightColor, QColor( 100, 100, 255 ) );
+ mHighlightColorItem->setLabel( QCoreApplication::translate("Test11a", "Highlight color") );
+ addItem( mHighlightColorItem, QStringLiteral( "HighlightColor" ) );
+ mAgendaBgColorItem = new MyPrefs::ItemColor( currentGroup(), QStringLiteral( "Agenda Background Color" ), mAgendaBgColor, QColor( 255, 255, 255 ) );
+ mAgendaBgColorItem->setLabel( QCoreApplication::translate("Test11a", "Agenda view background color") );
+ addItem( mAgendaBgColorItem, QStringLiteral( "AgendaBgColor" ) );
+
+ setCurrentGroup( QStringLiteral( "Fonts" ) );
+
+ mTimeBarFontItem = new MyPrefs::ItemFont( currentGroup(), QStringLiteral( "TimeBar Font" ), mTimeBarFont );
+ mTimeBarFontItem->setLabel( QCoreApplication::translate("Test11a", "Time bar") );
+ addItem( mTimeBarFontItem, QStringLiteral( "TimeBarFont" ) );
+
+ setCurrentGroup( QStringLiteral( "Email" ) );
+
+ QList<MyPrefs::ItemEnum::Choice> valuesEmailClient;
+ {
+ MyPrefs::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("sendmail");
+ choice.label = /*: @option */ QCoreApplication::translate("Test11a", "Sendmail");
+ valuesEmailClient.append( choice );
+ }
+ {
+ MyPrefs::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("kmail");
+ choice.label = /*: @option */ QCoreApplication::translate("Test11a", "KMail");
+ valuesEmailClient.append( choice );
+ }
+ mEmailClientItem = new MyPrefs::ItemEnum( currentGroup(), QStringLiteral( "EmailClient" ), mEmailClient, valuesEmailClient, kmail );
+ mEmailClientItem->setLabel( /*: @label */ QCoreApplication::translate("Test11a", "Email client") );
+ mEmailClientItem->setWhatsThis( /*: @info:whatsthis */ QCoreApplication::translate("Test11a", "<para>How to send email when an email alarm is triggered.<list><item>KMail: The email is sent automatically via <application>KMail</application>. <application>KMail</application> is started first if necessary.</item><item>Sendmail: The email is sent automatically. This option will only work if your system is configured to use <application>sendmail</application> or a sendmail compatible mail transport agent.</item></list></para>") );
+ addItem( mEmailClientItem, QStringLiteral( "EmailClient" ) );
+ QList<MyPrefs::ItemEnum::Choice> valuesDefaultReminderUnits;
+ {
+ MyPrefs::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("Minutes");
+ valuesDefaultReminderUnits.append( choice );
+ }
+ {
+ MyPrefs::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("HoursMinutes");
+ choice.label = /*: @option */ QCoreApplication::translate("Test11a", "Hours/Minutes");
+ valuesDefaultReminderUnits.append( choice );
+ }
+ mDefaultReminderUnitsItem = new MyPrefs::ItemEnum( currentGroup(), QStringLiteral( "RemindUnits" ), mDefaultReminderUnits, valuesDefaultReminderUnits, TimePeriod::HoursMinutes );
+ mDefaultReminderUnitsItem->setLabel( /*: @label */ QCoreApplication::translate("Test11a", "Reminder units") );
+ mDefaultReminderUnitsItem->setWhatsThis( /*: @info:whatsthis */ QCoreApplication::translate("Test11a", "Default reminder time units in the alarm edit dialog.") );
+ addItem( mDefaultReminderUnitsItem, QStringLiteral( "DefaultReminderUnits" ) );
+
+ setCurrentGroup( QStringLiteral( "QueueRates" ) );
+
+ QList< QList<int> > defaultRate;
+ QList< int > defaultRateInit;
+
+ defaultRateInit.append( 15 );
+ defaultRateInit.append( 60 );
+ defaultRateInit.append( 0 );
+ defaultRate.append( defaultRateInit );
+
+ defaultRateInit.clear();
+ defaultRateInit.append( 40 );
+ defaultRateInit.append( 60 );
+ defaultRateInit.append( 0 );
+ defaultRate.append( defaultRateInit );
+
+ defaultRateInit.clear();
+ defaultRateInit.append( 1 );
+ defaultRateInit.append( 1 );
+ defaultRateInit.append( 0 );
+ defaultRate.append( defaultRateInit );
+
+ QList<int> defaultqueueRate;
+
+ mQueueRateItem[0] = new MyPrefs::ItemIntList( currentGroup(), QStringLiteral( "EmptyingRate 0" ), mQueueRate[0], defaultRate[0] );
+ mQueueRateItem[0]->setLabel( QCoreApplication::translate("Test11a", "EmptyingRate queueRate$(QueueIndex)") );
+ addItem( mQueueRateItem[0], QStringLiteral( "queueRate0" ) );
+ mQueueRateItem[1] = new MyPrefs::ItemIntList( currentGroup(), QStringLiteral( "EmptyingRate 1" ), mQueueRate[1], defaultqueueRate );
+ mQueueRateItem[1]->setLabel( QCoreApplication::translate("Test11a", "EmptyingRate queueRate$(QueueIndex)") );
+ addItem( mQueueRateItem[1], QStringLiteral( "queueRate1" ) );
+ mQueueRateItem[2] = new MyPrefs::ItemIntList( currentGroup(), QStringLiteral( "EmptyingRate 2" ), mQueueRate[2], defaultRate[2] );
+ mQueueRateItem[2]->setLabel( QCoreApplication::translate("Test11a", "EmptyingRate queueRate$(QueueIndex)") );
+ addItem( mQueueRateItem[2], QStringLiteral( "queueRate2" ) );
+ mShowQueueTunerItem = new MyPrefs::ItemBool( currentGroup(), QStringLiteral( "ShowQueueTuner" ), mShowQueueTuner, false );
+ mShowQueueTunerItem->setLabel( QCoreApplication::translate("Test11a", "ShowQueueTuner") );
+ addItem( mShowQueueTunerItem, QStringLiteral( "ShowQueueTuner" ) );
+}
+
+int Test11a::defaultDestinationValue_helper() const
+{
+
+ return EnumDestination::standardDestination;
+}
+
+bool Test11a::defaultSelectionStartsEditorValue_helper() const
+{
+
+ return false;
+}
+
+int Test11a::defaultDefaultReminderUnitsValue_helper() const
+{
+
+ return TimePeriod::HoursMinutes;
+}
+
+Test11a::~Test11a()
+{
+}
+
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test11a.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST11A_H
+#define TEST11A_H
+
+#include <myprefs.h>
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+#include "test11_types.h"
+
+class Test11a : public MyPrefs
+{
+ public:
+ class EnumDestination
+ {
+ public:
+ enum type { standardDestination, askDestination, argl1, argl2, argl3, COUNT };
+ };
+ enum MailClient { sendmail, kmail };
+
+ Test11a( );
+ ~Test11a() override;
+
+ /**
+ Set Enable automatic saving of calendar
+ */
+ void setAutoSave( bool v )
+ {
+ if (!isAutoSaveImmutable())
+ mAutoSave = v;
+ }
+
+ /**
+ Get Enable automatic saving of calendar
+ */
+ bool autoSave() const
+ {
+ return mAutoSave;
+ }
+
+ /**
+ Is Enable automatic saving of calendar Immutable
+ */
+ bool isAutoSaveImmutable() const
+ {
+ return isImmutable( QStringLiteral( "AutoSave" ) );
+ }
+
+ /**
+ Get Item object corresponding to AutoSave()
+ */
+ ItemBool *autoSaveItem()
+ {
+ return mAutoSaveItem;
+ }
+
+ /**
+ Set Auto Save Interval
+ */
+ void setAutoSaveInterval( int v )
+ {
+ if (!isAutoSaveIntervalImmutable())
+ mAutoSaveInterval = v;
+ }
+
+ /**
+ Get Auto Save Interval
+ */
+ int autoSaveInterval() const
+ {
+ return mAutoSaveInterval;
+ }
+
+ /**
+ Is Auto Save Interval Immutable
+ */
+ bool isAutoSaveIntervalImmutable() const
+ {
+ return isImmutable( QStringLiteral( "AutoSaveInterval" ) );
+ }
+
+ /**
+ Get Item object corresponding to AutoSaveInterval()
+ */
+ ItemInt *autoSaveIntervalItem()
+ {
+ return mAutoSaveIntervalItem;
+ }
+
+ /**
+ Set Confirm deletes
+ */
+ void setConfirm( bool v )
+ {
+ if (!isConfirmImmutable())
+ mConfirm = v;
+ }
+
+ /**
+ Get Confirm deletes
+ */
+ bool confirm() const
+ {
+ return mConfirm;
+ }
+
+ /**
+ Is Confirm deletes Immutable
+ */
+ bool isConfirmImmutable() const
+ {
+ return isImmutable( QStringLiteral( "Confirm" ) );
+ }
+
+ /**
+ Get Item object corresponding to Confirm()
+ */
+ ItemBool *confirmItem()
+ {
+ return mConfirmItem;
+ }
+
+ /**
+ Set Archive File
+ */
+ void setArchiveFile( const QString & v )
+ {
+ if (!isArchiveFileImmutable())
+ mArchiveFile = v;
+ }
+
+ /**
+ Get Archive File
+ */
+ QString archiveFile() const
+ {
+ return mArchiveFile;
+ }
+
+ /**
+ Is Archive File Immutable
+ */
+ bool isArchiveFileImmutable() const
+ {
+ return isImmutable( QStringLiteral( "ArchiveFile" ) );
+ }
+
+ /**
+ Get Item object corresponding to ArchiveFile()
+ */
+ ItemString *archiveFileItem()
+ {
+ return mArchiveFileItem;
+ }
+
+ /**
+ Set New Events/Todos Should
+ */
+ void setDestination( EnumDestination::type v )
+ {
+ if (!isDestinationImmutable())
+ mDestination = v;
+ }
+
+ /**
+ Get New Events/Todos Should
+ */
+ EnumDestination::type destination() const
+ {
+ return static_cast<EnumDestination::type>(mDestination);
+ }
+
+ /**
+ Is New Events/Todos Should Immutable
+ */
+ bool isDestinationImmutable() const
+ {
+ return isImmutable( QStringLiteral( "Destination" ) );
+ }
+
+ /**
+ Get New Events/Todos Should default value
+ */
+ EnumDestination::type defaultDestinationValue() const
+ {
+ return static_cast<EnumDestination::type>(defaultDestinationValue_helper());
+ }
+
+ /**
+ Get Item object corresponding to Destination()
+ */
+ ItemEnum *destinationItem()
+ {
+ return mDestinationItem;
+ }
+
+ /**
+ Set Hour Size
+ */
+ void setHourSize( int v )
+ {
+ if (!isHourSizeImmutable())
+ mHourSize = v;
+ }
+
+ /**
+ Get Hour Size
+ */
+ int hourSize() const
+ {
+ return mHourSize;
+ }
+
+ /**
+ Is Hour Size Immutable
+ */
+ bool isHourSizeImmutable() const
+ {
+ return isImmutable( QStringLiteral( "HourSize" ) );
+ }
+
+ /**
+ Get Item object corresponding to HourSize()
+ */
+ ItemInt *hourSizeItem()
+ {
+ return mHourSizeItem;
+ }
+
+ /**
+ Set Time range selection in agenda view starts event editor
+ */
+ void setSelectionStartsEditor( bool v )
+ {
+ if (!isSelectionStartsEditorImmutable())
+ mSelectionStartsEditor = v;
+ }
+
+ /**
+ Get Time range selection in agenda view starts event editor
+ */
+ bool selectionStartsEditor() const
+ {
+ return mSelectionStartsEditor;
+ }
+
+ /**
+ Is Time range selection in agenda view starts event editor Immutable
+ */
+ bool isSelectionStartsEditorImmutable() const
+ {
+ return isImmutable( QStringLiteral( "SelectionStartsEditor" ) );
+ }
+
+ /**
+ Get Time range selection in agenda view starts event editor default value
+ */
+ bool defaultSelectionStartsEditorValue() const
+ {
+ return defaultSelectionStartsEditorValue_helper();
+ }
+
+ /**
+ Get Item object corresponding to SelectionStartsEditor()
+ */
+ ItemBool *selectionStartsEditorItem()
+ {
+ return mSelectionStartsEditorItem;
+ }
+
+ /**
+ Set SelectedPlugins
+ */
+ void setSelectedPlugins( const QStringList & v )
+ {
+ if (!isSelectedPluginsImmutable())
+ mSelectedPlugins = v;
+ }
+
+ /**
+ Get SelectedPlugins
+ */
+ QStringList selectedPlugins() const
+ {
+ return mSelectedPlugins;
+ }
+
+ /**
+ Is SelectedPlugins Immutable
+ */
+ bool isSelectedPluginsImmutable() const
+ {
+ return isImmutable( QStringLiteral( "SelectedPlugins" ) );
+ }
+
+ /**
+ Get Item object corresponding to SelectedPlugins()
+ */
+ ItemStringList *selectedPluginsItem()
+ {
+ return mSelectedPluginsItem;
+ }
+
+ /**
+ Set Highlight color
+ */
+ void setHighlightColor( const QColor & v )
+ {
+ if (!isHighlightColorImmutable())
+ mHighlightColor = v;
+ }
+
+ /**
+ Get Highlight color
+ */
+ QColor highlightColor() const
+ {
+ return mHighlightColor;
+ }
+
+ /**
+ Is Highlight color Immutable
+ */
+ bool isHighlightColorImmutable() const
+ {
+ return isImmutable( QStringLiteral( "HighlightColor" ) );
+ }
+
+ /**
+ Get Item object corresponding to HighlightColor()
+ */
+ ItemColor *highlightColorItem()
+ {
+ return mHighlightColorItem;
+ }
+
+ /**
+ Set Agenda view background color
+ */
+ void setAgendaBgColor( const QColor & v )
+ {
+ if (!isAgendaBgColorImmutable())
+ mAgendaBgColor = v;
+ }
+
+ /**
+ Get Agenda view background color
+ */
+ QColor agendaBgColor() const
+ {
+ return mAgendaBgColor;
+ }
+
+ /**
+ Is Agenda view background color Immutable
+ */
+ bool isAgendaBgColorImmutable() const
+ {
+ return isImmutable( QStringLiteral( "AgendaBgColor" ) );
+ }
+
+ /**
+ Get Item object corresponding to AgendaBgColor()
+ */
+ ItemColor *agendaBgColorItem()
+ {
+ return mAgendaBgColorItem;
+ }
+
+ /**
+ Set Time bar
+ */
+ void setTimeBarFont( const QFont & v )
+ {
+ if (!isTimeBarFontImmutable())
+ mTimeBarFont = v;
+ }
+
+ /**
+ Get Time bar
+ */
+ QFont timeBarFont() const
+ {
+ return mTimeBarFont;
+ }
+
+ /**
+ Is Time bar Immutable
+ */
+ bool isTimeBarFontImmutable() const
+ {
+ return isImmutable( QStringLiteral( "TimeBarFont" ) );
+ }
+
+ /**
+ Get Item object corresponding to TimeBarFont()
+ */
+ ItemFont *timeBarFontItem()
+ {
+ return mTimeBarFontItem;
+ }
+
+ /**
+ Set Email client
+ */
+ void setEmailClient( MailClient v )
+ {
+ if (!isEmailClientImmutable())
+ mEmailClient = v;
+ }
+
+ /**
+ Get Email client
+ */
+ MailClient emailClient() const
+ {
+ return static_cast<MailClient>(mEmailClient);
+ }
+
+ /**
+ Is Email client Immutable
+ */
+ bool isEmailClientImmutable() const
+ {
+ return isImmutable( QStringLiteral( "EmailClient" ) );
+ }
+
+ /**
+ Get Item object corresponding to EmailClient()
+ */
+ ItemEnum *emailClientItem()
+ {
+ return mEmailClientItem;
+ }
+
+ /**
+ Set Reminder units
+ */
+ void setDefaultReminderUnits( TimePeriod::Units v )
+ {
+ if (!isDefaultReminderUnitsImmutable())
+ mDefaultReminderUnits = v;
+ }
+
+ /**
+ Get Reminder units
+ */
+ TimePeriod::Units defaultReminderUnits() const
+ {
+ return static_cast<TimePeriod::Units>(mDefaultReminderUnits);
+ }
+
+ /**
+ Is Reminder units Immutable
+ */
+ bool isDefaultReminderUnitsImmutable() const
+ {
+ return isImmutable( QStringLiteral( "DefaultReminderUnits" ) );
+ }
+
+ /**
+ Get Reminder units default value
+ */
+ TimePeriod::Units defaultDefaultReminderUnitsValue() const
+ {
+ return static_cast<TimePeriod::Units>(defaultDefaultReminderUnitsValue_helper());
+ }
+
+ /**
+ Get Item object corresponding to DefaultReminderUnits()
+ */
+ ItemEnum *defaultReminderUnitsItem()
+ {
+ return mDefaultReminderUnitsItem;
+ }
+
+ /**
+ Set EmptyingRate $(QueueIndex)
+ */
+ void setQueueRate( int i, const QList<int> & v )
+ {
+ if (!isQueueRateImmutable( i ))
+ mQueueRate[i] = v;
+ }
+
+ /**
+ Get EmptyingRate $(QueueIndex)
+ */
+ QList<int> queueRate( int i ) const
+ {
+ return mQueueRate[i];
+ }
+
+ /**
+ Is EmptyingRate $(QueueIndex) Immutable
+ */
+ bool isQueueRateImmutable( int i ) const
+ {
+ return isImmutable( QStringLiteral( "queueRate%1" ).arg( i ) );
+ }
+
+ /**
+ Get Item object corresponding to queueRate()
+ */
+ ItemIntList *queueRateItem( int i )
+ {
+ return mQueueRateItem[i];
+ }
+
+ /**
+ Set ShowQueueTuner
+ */
+ void setShowQueueTuner( bool v )
+ {
+ if (!isShowQueueTunerImmutable())
+ mShowQueueTuner = v;
+ }
+
+ /**
+ Get ShowQueueTuner
+ */
+ bool showQueueTuner() const
+ {
+ return mShowQueueTuner;
+ }
+
+ /**
+ Is ShowQueueTuner Immutable
+ */
+ bool isShowQueueTunerImmutable() const
+ {
+ return isImmutable( QStringLiteral( "ShowQueueTuner" ) );
+ }
+
+ /**
+ Get Item object corresponding to ShowQueueTuner()
+ */
+ ItemBool *showQueueTunerItem()
+ {
+ return mShowQueueTunerItem;
+ }
+
+ protected:
+ public:
+
+ // General
+ bool mAutoSave;
+ int mAutoSaveInterval;
+ bool mConfirm;
+ QString mArchiveFile;
+ int mDestination;
+ int defaultDestinationValue_helper() const;
+
+ // Views
+ int mHourSize;
+ bool mSelectionStartsEditor;
+ bool defaultSelectionStartsEditorValue_helper() const;
+
+ // KOrganizer Plugins
+ QStringList mSelectedPlugins;
+
+ // Colors
+ QColor mHighlightColor;
+ QColor mAgendaBgColor;
+
+ // Fonts
+ QFont mTimeBarFont;
+
+ // Email
+ int mEmailClient;
+ int mDefaultReminderUnits;
+ int defaultDefaultReminderUnitsValue_helper() const;
+
+ // QueueRates
+ QList<int> mQueueRate[3];
+ bool mShowQueueTuner;
+
+ private:
+ ItemBool *mAutoSaveItem;
+ ItemInt *mAutoSaveIntervalItem;
+ ItemBool *mConfirmItem;
+ ItemString *mArchiveFileItem;
+ ItemEnum *mDestinationItem;
+ ItemInt *mHourSizeItem;
+ ItemBool *mSelectionStartsEditorItem;
+ ItemStringList *mSelectedPluginsItem;
+ ItemColor *mHighlightColorItem;
+ ItemColor *mAgendaBgColorItem;
+ ItemFont *mTimeBarFontItem;
+ ItemEnum *mEmailClientItem;
+ ItemEnum *mDefaultReminderUnitsItem;
+ ItemIntList *mQueueRateItem[3];
+ ItemBool *mShowQueueTunerItem;
+};
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+
+ <include>"test11_types.h"</include>
+
+ <kcfgfile name="korganizerrc"/>
+
+ <group name="General">
+ <entry type="Bool" key="Auto Save">
+ <label>Enable automatic saving of calendar</label>
+ <whatsthis>WhatsThis text for AutoSave option</whatsthis>
+ <default>false</default>
+ </entry>
+ <entry type="Int" key="Auto Save Interval">
+ <default>10</default>
+ </entry>
+ <entry type="Bool" key="Confirm Deletes" name="Confirm">
+ <label>Confirm deletes</label>
+ <default>true</default>
+ </entry>
+ <entry type="String" key="Archive File">
+ </entry>
+ <entry type="Enum" key="Destination" name="Destination">
+ <label>New Events/Todos Should</label>
+ <choices>
+ <choice name="standardDestination">
+ </choice>
+ <choice name="askDestination">
+ </choice>
+ <choice name="argl1">
+ <label>Argl1 Label</label>
+ </choice>
+ <choice name="argl2">
+ <whatsthis>Argl2 Whatsthis</whatsthis>
+ </choice>
+ <choice name="argl3">
+ <label>Argl3 Label</label>
+ <whatsthis>Argl3 Whatsthis</whatsthis>
+ </choice>
+ </choices>
+ <default>standardDestination</default>
+ </entry>
+ </group>
+
+ <group name="Views">
+ <entry type="Int" key="Hour Size">
+ <default>10</default>
+ </entry>
+ <entry type="Bool" name="SelectionStartsEditor">
+ <label>Time range selection in agenda view starts event editor</label>
+ <default>false</default>
+ </entry>
+ </group>
+
+ <group name="KOrganizer Plugins">
+ <entry type="StringList" name="SelectedPlugins">
+ <default>holidays,webexport</default>
+ </entry>
+ </group>
+
+ <group name="Colors">
+ <entry type="Color" key="Highlight Color">
+ <label>Highlight color</label>
+ <default>100, 100, 255</default>
+ </entry>
+ <entry type="Color" key="Agenda Background Color" name="AgendaBgColor">
+ <label>Agenda view background color</label>
+ <default>255, 255, 255</default>
+ </entry>
+ </group>
+
+ <group name="Fonts">
+ <entry type="Font" key="TimeBar Font">
+ <label>Time bar</label>
+ </entry>
+ </group>
+
+ <group name="Email">
+ <entry name="EmailClient" key="EmailClient" type="Enum">
+ <label context="@label">Email client</label>
+ <whatsthis context="@info:whatsthis"><para>How to send email when an email alarm is triggered.<list><item>KMail: The email is sent automatically via <application>KMail</application>. <application>KMail</application> is started first if necessary.</item><item>Sendmail: The email is sent automatically. This option will only work if your system is configured to use <application>sendmail</application> or a sendmail compatible mail transport agent.</item></list></para></whatsthis>
+ <choices name="MailClient">
+ <choice name="sendmail"><label context="@option">Sendmail</label></choice>
+ <choice name="kmail"><label context="@option">KMail</label></choice>
+ </choices>
+ <default>kmail</default>
+ </entry>
+
+ <entry name="DefaultReminderUnits" key="RemindUnits" type="Enum">
+ <label context="@label">Reminder units</label>
+ <whatsthis context="@info:whatsthis">Default reminder time units in the alarm edit dialog.</whatsthis>
+ <choices name="TimePeriod::Units">
+ <choice name="Minutes"></choice>
+ <choice name="HoursMinutes"><label context="@option">Hours/Minutes</label></choice>
+ </choices>
+ <default>HoursMinutes</default>
+ </entry>
+ </group>
+
+ <group name="QueueRates">
+ <entry name="queueRate$(QueueIndex)" type="IntList" key="EmptyingRate $(QueueIndex)">
+ <!-- kconfig_compiler_kf6 really should do this for me... -->
+ <code> QList< QList<int> > defaultRate;
+ QList< int > defaultRateInit;
+
+ defaultRateInit.append( 15 );
+ defaultRateInit.append( 60 );
+ defaultRateInit.append( 0 );
+ defaultRate.append( defaultRateInit );
+
+ defaultRateInit.clear();
+ defaultRateInit.append( 40 );
+ defaultRateInit.append( 60 );
+ defaultRateInit.append( 0 );
+ defaultRate.append( defaultRateInit );
+
+ defaultRateInit.clear();
+ defaultRateInit.append( 1 );
+ defaultRateInit.append( 1 );
+ defaultRateInit.append( 0 );
+ defaultRate.append( defaultRateInit );
+ </code>
+ <parameter name="QueueIndex" type="Int" max="2"/>
+ <default param="0" code="true">defaultRate[0]</default>
+ <default param="2" code="true">defaultRate[2]</default>
+ </entry>
+ <entry key="ShowQueueTuner" type="Bool">
+ <default>false</default>
+ </entry>
+ </group>
+
+</kcfg>
--- /dev/null
+# Code generation options for kconfig_compiler_kf6
+File=test11a.kcfg
+ClassName=Test11a
+Singleton=false
+Mutators=true
+Inherits=MyPrefs
+IncludeFiles=myprefs.h
+MemberVariables=public
+GlobalEnums=false
+ItemAccessors=true
+SetUserTexts=true
+UseEnumTypes=true
+DefaultValueGetters=Destination,SelectionStartsEditor,DefaultReminderUnits
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2009 Pino Toscano <pino@kde.org>
+
+ SPDX-License-Identifier: MIT
+*/
+#include "test11.h"
+#include "test11a.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+ QGuiApplication app(argc, argv);
+ Q_UNUSED(app);
+ Test11 *t = new Test11();
+ Test11a *t2 = new Test11a();
+ delete t;
+ delete t2;
+ return 0;
+}
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test12.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test12.h"
+
+Test12::Test12( )
+ : KConfigSkeleton( QStringLiteral( "muondatasourcesrc" ) )
+{
+ setCurrentGroup( QStringLiteral( "muon" ) );
+
+ QList<QUrl> defaultRnRSource;
+ defaultRnRSource.append( QUrl::fromUserInput(QString::fromUtf8( "http://kde.org" ) ) );
+
+ KConfigSkeleton::ItemUrlList *itemRnRSource;
+ itemRnRSource = new KConfigSkeleton::ItemUrlList( currentGroup(), QStringLiteral( "RnRSource" ), mRnRSource, defaultRnRSource );
+ addItem( itemRnRSource, QStringLiteral( "RnRSource" ) );
+}
+
+Test12::~Test12()
+{
+}
+
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test12.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST12_H
+#define TEST12_H
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class Test12 : public KConfigSkeleton
+{
+ public:
+
+ Test12( );
+ ~Test12() override;
+
+ /**
+ Get RnRSource
+ */
+ QList<QUrl> rnRSource() const
+ {
+ return mRnRSource;
+ }
+
+ /**
+ Is RnRSource Immutable
+ */
+ bool isRnRSourceImmutable() const
+ {
+ return isImmutable( QStringLiteral( "RnRSource" ) );
+ }
+
+ protected:
+
+ // muon
+ QList<QUrl> mRnRSource;
+
+ private:
+};
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile name="muondatasourcesrc"/>
+ <group name="muon">
+ <entry name="RnRSource" type="UrlList"><default>http://kde.org</default></entry>
+ </group>
+</kcfg>
--- /dev/null
+ClassName=Test12
+File=test12.kcfg
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+
+ SPDX-License-Identifier: MIT
+*/
+#include "test12.h"
+
+int main(int, char **)
+{
+ Test12 t = Test12();
+ return 0;
+}
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test13.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test13.h"
+
+Test13::Test13( )
+ : KConfigSkeleton( QStringLiteral( "muondatasourcesrc" ) )
+{
+ KConfigCompilerSignallingItem::NotifyFunction notifyFunction = static_cast<KConfigCompilerSignallingItem::NotifyFunction>(&Test13::itemChanged);
+
+ setCurrentGroup( QStringLiteral( "kamoso" ) );
+
+ KConfigSkeleton::ItemUrl *itemPicturesDir;
+ itemPicturesDir = new KConfigSkeleton::ItemUrl( currentGroup(), QStringLiteral( "picturesDir" ), mPicturesDir );
+ addItem( itemPicturesDir, QStringLiteral( "picturesDir" ) );
+ KConfigCompilerSignallingItem *itemBrightness;
+ KConfigSkeleton::ItemDouble *innerItemBrightness;
+ innerItemBrightness = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "brightness" ), mBrightness );
+ itemBrightness = new KConfigCompilerSignallingItem(innerItemBrightness, this, notifyFunction, signalBrightnessChanged);
+ addItem( itemBrightness, QStringLiteral( "brightness" ) );
+ KConfigSkeleton::ItemBool *itemStartsWithUppercase;
+ itemStartsWithUppercase = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "StartsWithUppercase" ), mStartsWithUppercase );
+ addItem( itemStartsWithUppercase, QStringLiteral( "StartsWithUppercase" ) );
+}
+
+Test13::~Test13()
+{
+}
+
+
+void Test13::itemChanged(quint64 signalFlag) {
+
+ switch (signalFlag) {
+ case signalBrightnessChanged:
+ Q_EMIT brightnessChanged();
+ break;
+ }
+}
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test13.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST13_H
+#define TEST13_H
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class Test13 : public KConfigSkeleton
+{
+ Q_OBJECT
+ public:
+
+ Test13( );
+ ~Test13() override;
+
+ Q_PROPERTY(QUrl picturesDir READ picturesDir CONSTANT)
+ Q_PROPERTY(bool isPicturesDirImmutable READ isPicturesDirImmutable CONSTANT)
+ /**
+ Get picturesDir
+ */
+ QUrl picturesDir() const
+ {
+ return mPicturesDir;
+ }
+
+ /**
+ Is picturesDir Immutable
+ */
+ bool isPicturesDirImmutable() const
+ {
+ return isImmutable( QStringLiteral( "picturesDir" ) );
+ }
+
+ /**
+ Set brightness
+ */
+ void setBrightness( double v )
+ {
+ if (v != mBrightness && !isBrightnessImmutable()) {
+ mBrightness = v;
+ Q_EMIT brightnessChanged();
+ }
+ }
+
+ Q_PROPERTY(double brightness READ brightness WRITE setBrightness NOTIFY brightnessChanged)
+ Q_PROPERTY(bool isBrightnessImmutable READ isBrightnessImmutable CONSTANT)
+ /**
+ Get brightness
+ */
+ double brightness() const
+ {
+ return mBrightness;
+ }
+
+ /**
+ Is brightness Immutable
+ */
+ bool isBrightnessImmutable() const
+ {
+ return isImmutable( QStringLiteral( "brightness" ) );
+ }
+
+ Q_PROPERTY(bool startsWithUppercase READ startsWithUppercase CONSTANT)
+ Q_PROPERTY(bool isStartsWithUppercaseImmutable READ isStartsWithUppercaseImmutable CONSTANT)
+ /**
+ Get StartsWithUppercase
+ */
+ bool startsWithUppercase() const
+ {
+ return mStartsWithUppercase;
+ }
+
+ /**
+ Is StartsWithUppercase Immutable
+ */
+ bool isStartsWithUppercaseImmutable() const
+ {
+ return isImmutable( QStringLiteral( "StartsWithUppercase" ) );
+ }
+
+
+ enum {
+ signalBrightnessChanged = 1
+ };
+
+ Q_SIGNALS:
+ void brightnessChanged();
+
+ private:
+ void itemChanged(quint64 signalFlag);
+
+ protected:
+
+ // kamoso
+ QUrl mPicturesDir;
+ double mBrightness;
+ bool mStartsWithUppercase;
+
+ private:
+};
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile name="muondatasourcesrc"/>
+ <group name="kamoso">
+ <entry name="picturesDir" type="Url" />
+ <entry name="brightness" type="double" />
+ <entry name="StartsWithUppercase" type="bool" />
+ </group>
+</kcfg>
--- /dev/null
+ClassName=Test13
+GenerateProperties=true
+Mutators=brightness
+File=test13.kcfg
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+
+ SPDX-License-Identifier: MIT
+*/
+#include "test13.h"
+
+int main(int, char **)
+{
+ Test13 t = Test13();
+ return 0;
+}
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test14.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test14.h"
+
+Test14::Test14( )
+ : KConfigSkeleton( QStringLiteral( "muondatasourcesrc" ) )
+{
+ KConfigCompilerSignallingItem::NotifyFunction notifyFunction = static_cast<KConfigCompilerSignallingItem::NotifyFunction>(&Test14::itemChanged);
+
+ setCurrentGroup( QStringLiteral( "kamoso" ) );
+
+ KConfigSkeleton::ItemUrl *itemPicturesDir;
+ itemPicturesDir = new KConfigSkeleton::ItemUrl( currentGroup(), QStringLiteral( "picturesDir" ), mPicturesDir );
+ addItem( itemPicturesDir, QStringLiteral( "picturesDir" ) );
+ KConfigCompilerSignallingItem *itemBrightness;
+ KConfigSkeleton::ItemDouble *innerItemBrightness;
+ innerItemBrightness = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "brightness" ), mBrightness );
+ itemBrightness = new KConfigCompilerSignallingItem(innerItemBrightness, this, notifyFunction, signalBrightnessChanged);
+ addItem( itemBrightness, QStringLiteral( "brightness" ) );
+}
+
+Test14::~Test14()
+{
+}
+
+
+void Test14::itemChanged(quint64 signalFlag) {
+
+ switch (signalFlag) {
+ case signalBrightnessChanged:
+ Q_EMIT brightnessChanged();
+ break;
+ }
+}
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test14.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST14_H
+#define TEST14_H
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+#include <qqmlintegration.h>
+
+class Test14 : public KConfigSkeleton
+{
+ Q_OBJECT
+ QML_ELEMENT
+ public:
+
+ Test14( );
+ ~Test14() override;
+
+ Q_PROPERTY(QUrl picturesDir READ picturesDir CONSTANT)
+ Q_PROPERTY(bool isPicturesDirImmutable READ isPicturesDirImmutable CONSTANT)
+ /**
+ Get picturesDir
+ */
+ QUrl picturesDir() const
+ {
+ return mPicturesDir;
+ }
+
+ /**
+ Is picturesDir Immutable
+ */
+ bool isPicturesDirImmutable() const
+ {
+ return isImmutable( QStringLiteral( "picturesDir" ) );
+ }
+
+ /**
+ Set brightness
+ */
+ void setBrightness( double v )
+ {
+ if (v != mBrightness && !isBrightnessImmutable()) {
+ mBrightness = v;
+ Q_EMIT brightnessChanged();
+ }
+ }
+
+ Q_PROPERTY(double brightness READ brightness WRITE setBrightness NOTIFY brightnessChanged)
+ Q_PROPERTY(bool isBrightnessImmutable READ isBrightnessImmutable CONSTANT)
+ /**
+ Get brightness
+ */
+ double brightness() const
+ {
+ return mBrightness;
+ }
+
+ /**
+ Is brightness Immutable
+ */
+ bool isBrightnessImmutable() const
+ {
+ return isImmutable( QStringLiteral( "brightness" ) );
+ }
+
+
+ enum {
+ signalBrightnessChanged = 1
+ };
+
+ Q_SIGNALS:
+ void brightnessChanged();
+
+ private:
+ void itemChanged(quint64 signalFlag);
+
+ protected:
+
+ // kamoso
+ QUrl mPicturesDir;
+ double mBrightness;
+
+ private:
+};
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile name="muondatasourcesrc"/>
+ <group name="kamoso">
+ <entry name="picturesDir" type="Url" />
+ <entry name="brightness" type="double" />
+ </group>
+</kcfg>
--- /dev/null
+ClassName=Test14
+GenerateProperties=true
+Mutators=brightness
+File=test14.kcfg
+QmlRegistration=true
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+
+ SPDX-License-Identifier: MIT
+*/
+
+int main(int, char **)
+{
+ return 0;
+}
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2024 Nicolas Fella <nicolas.fella@gmx.de>
+
+ SPDX-License-Identifier: MIT
+*/
+
+#include <QGuiApplication>
+#include <QQmlApplicationEngine>
+#include <QTest>
+
+class Test14Qml : public QObject
+{
+ Q_OBJECT
+
+private Q_SLOTS:
+ void testQml()
+ {
+ QQmlApplicationEngine engine;
+
+ engine.loadFromModule("org.kde.kconfig.test14", "Test14Qml");
+
+ QVERIFY(engine.rootObjects().size());
+ }
+};
+
+QTEST_MAIN(Test14Qml)
+
+#include "test14qml.moc"
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test15.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test15.h"
+
+#include <qglobal.h>
+#include <QFile>
+#include <QQmlEngine>
+
+class Test15Helper
+{
+ public:
+ Test15Helper() : q(nullptr) {}
+ ~Test15Helper() { delete q; q = nullptr; }
+ Test15Helper(const Test15Helper&) = delete;
+ Test15Helper& operator=(const Test15Helper&) = delete;
+ Test15 *q;
+};
+Q_GLOBAL_STATIC(Test15Helper, s_globalTest15)
+Test15 *Test15::self()
+{
+ if (!s_globalTest15()->q) {
+ new Test15;
+ s_globalTest15()->q->read();
+ }
+
+ return s_globalTest15()->q;
+}
+
+Test15 *Test15::create(QQmlEngine *, QJSEngine *)
+{
+ QQmlEngine::setObjectOwnership(self(), QQmlEngine::CppOwnership);
+ return self();
+}
+
+Test15::Test15( )
+ : KConfigSkeleton( QStringLiteral( "muondatasourcesrc" ) )
+{
+ Q_ASSERT(!s_globalTest15()->q);
+ s_globalTest15()->q = this;
+ KConfigCompilerSignallingItem::NotifyFunction notifyFunction = static_cast<KConfigCompilerSignallingItem::NotifyFunction>(&Test15::itemChanged);
+
+ setCurrentGroup( QStringLiteral( "kamoso" ) );
+
+ KConfigSkeleton::ItemUrl *itemPicturesDir;
+ itemPicturesDir = new KConfigSkeleton::ItemUrl( currentGroup(), QStringLiteral( "picturesDir" ), mPicturesDir );
+ addItem( itemPicturesDir, QStringLiteral( "picturesDir" ) );
+ KConfigCompilerSignallingItem *itemBrightness;
+ KConfigSkeleton::ItemDouble *innerItemBrightness;
+ innerItemBrightness = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "brightness" ), mBrightness );
+ itemBrightness = new KConfigCompilerSignallingItem(innerItemBrightness, this, notifyFunction, signalBrightnessChanged);
+ addItem( itemBrightness, QStringLiteral( "brightness" ) );
+ KConfigSkeleton::ItemBool *itemStartsWithUppercase;
+ itemStartsWithUppercase = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "StartsWithUppercase" ), mStartsWithUppercase );
+ addItem( itemStartsWithUppercase, QStringLiteral( "StartsWithUppercase" ) );
+}
+
+Test15::~Test15()
+{
+ if (s_globalTest15.exists() && !s_globalTest15.isDestroyed()) {
+ s_globalTest15()->q = nullptr;
+ }
+}
+
+
+void Test15::itemChanged(quint64 signalFlag) {
+
+ switch (signalFlag) {
+ case signalBrightnessChanged:
+ Q_EMIT brightnessChanged();
+ break;
+ }
+}
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test15.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST15_H
+#define TEST15_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+#include <qqmlintegration.h>
+
+class QQmlEngine;
+class QJSEngine;
+
+class Test15 : public KConfigSkeleton
+{
+ Q_OBJECT
+ QML_ELEMENT
+ QML_SINGLETON
+ public:
+
+ static Test15 *self();
+ static Test15 *create(QQmlEngine *, QJSEngine *);
+ ~Test15() override;
+
+ Q_PROPERTY(QUrl picturesDir READ picturesDir CONSTANT)
+ Q_PROPERTY(bool isPicturesDirImmutable READ isPicturesDirImmutable CONSTANT)
+ /**
+ Get picturesDir
+ */
+ static
+ QUrl picturesDir()
+ {
+ return self()->mPicturesDir;
+ }
+
+ /**
+ Is picturesDir Immutable
+ */
+ static
+ bool isPicturesDirImmutable()
+ {
+ return self()->isImmutable( QStringLiteral( "picturesDir" ) );
+ }
+
+ /**
+ Set brightness
+ */
+ static
+ void setBrightness( double v )
+ {
+ if (v != self()->mBrightness && !self()->isBrightnessImmutable()) {
+ self()->mBrightness = v;
+ Q_EMIT self()->brightnessChanged();
+ }
+ }
+
+ Q_PROPERTY(double brightness READ brightness WRITE setBrightness NOTIFY brightnessChanged)
+ Q_PROPERTY(bool isBrightnessImmutable READ isBrightnessImmutable CONSTANT)
+ /**
+ Get brightness
+ */
+ static
+ double brightness()
+ {
+ return self()->mBrightness;
+ }
+
+ /**
+ Is brightness Immutable
+ */
+ static
+ bool isBrightnessImmutable()
+ {
+ return self()->isImmutable( QStringLiteral( "brightness" ) );
+ }
+
+ Q_PROPERTY(bool startsWithUppercase READ startsWithUppercase CONSTANT)
+ Q_PROPERTY(bool isStartsWithUppercaseImmutable READ isStartsWithUppercaseImmutable CONSTANT)
+ /**
+ Get StartsWithUppercase
+ */
+ static
+ bool startsWithUppercase()
+ {
+ return self()->mStartsWithUppercase;
+ }
+
+ /**
+ Is StartsWithUppercase Immutable
+ */
+ static
+ bool isStartsWithUppercaseImmutable()
+ {
+ return self()->isImmutable( QStringLiteral( "StartsWithUppercase" ) );
+ }
+
+
+ enum {
+ signalBrightnessChanged = 1
+ };
+
+ Q_SIGNALS:
+ void brightnessChanged();
+
+ private:
+ void itemChanged(quint64 signalFlag);
+
+ protected:
+ Test15();
+ friend class Test15Helper;
+
+
+ // kamoso
+ QUrl mPicturesDir;
+ double mBrightness;
+ bool mStartsWithUppercase;
+
+ private:
+};
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile name="muondatasourcesrc"/>
+ <group name="kamoso">
+ <entry name="picturesDir" type="Url" />
+ <entry name="brightness" type="double" />
+ <entry name="StartsWithUppercase" type="bool" />
+ </group>
+</kcfg>
--- /dev/null
+ClassName=Test15
+GenerateProperties=true
+Mutators=brightness
+File=test15.kcfg
+QmlRegistration=true
+Singleton=true
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+
+ SPDX-License-Identifier: MIT
+*/
+#include "test15.h"
+
+int main(int, char **)
+{
+ Test15::self();
+ return 0;
+}
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2024 Nicolas Fella <nicolas.fella@gmx.de>
+
+ SPDX-License-Identifier: MIT
+*/
+
+#include <QGuiApplication>
+#include <QQmlApplicationEngine>
+#include <QTest>
+
+class Test15Qml : public QObject
+{
+ Q_OBJECT
+
+private Q_SLOTS:
+ void testQml()
+ {
+ QQmlApplicationEngine engine;
+
+ engine.loadFromModule("org.kde.kconfig.test15", "Test15Qml");
+
+ QVERIFY(engine.rootObjects().size());
+ }
+};
+
+QTEST_MAIN(Test15Qml)
+
+#include "test15qml.moc"
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+
+ SPDX-License-Identifier: MIT
+*/
+#include "test1.h"
+#include <KConfig>
+#include <KConfigGroup>
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+ QGuiApplication app(argc, argv);
+ Q_UNUSED(app);
+
+ {
+ KConfig initialConfig(QStringLiteral("examplerc"));
+ KConfigGroup group = initialConfig.group(QStringLiteral("MyOptions"));
+ group.writeEntry(QStringLiteral("MyString"), QStringLiteral("The String"));
+ }
+ Test1 *t = new Test1(QString(), QString());
+
+ bool ok = t->myString() == QLatin1String("The String");
+
+ delete t;
+ return ok ? 0 : 1;
+}
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test2.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test2.h"
+
+Test2::Test2( )
+ : MyPrefs( QStringLiteral( "korganizerrc" ) )
+{
+ setCurrentGroup( QStringLiteral( "General" ) );
+
+ mAutoSaveItem = new MyPrefs::ItemBool( currentGroup(), QStringLiteral( "Auto Save" ), mAutoSave, false );
+ mAutoSaveItem->setLabel( QCoreApplication::translate("Test2", "Enable automatic saving of calendar") );
+ mAutoSaveItem->setWhatsThis( QCoreApplication::translate("Test2", "WhatsThis text for AutoSave option") );
+ addItem( mAutoSaveItem, QStringLiteral( "AutoSave" ) );
+ mAutoSaveIntervalItem = new MyPrefs::ItemInt( currentGroup(), QStringLiteral( "Auto Save Interval" ), mAutoSaveInterval, 10 );
+ mAutoSaveIntervalItem->setLabel( QCoreApplication::translate("Test2", "Auto Save Interval") );
+ addItem( mAutoSaveIntervalItem, QStringLiteral( "AutoSaveInterval" ) );
+ mConfirmItem = new MyPrefs::ItemBool( currentGroup(), QStringLiteral( "Confirm Deletes" ), mConfirm, true );
+ mConfirmItem->setLabel( QCoreApplication::translate("Test2", "Confirm deletes") );
+ addItem( mConfirmItem, QStringLiteral( "Confirm" ) );
+ mArchiveFileItem = new MyPrefs::ItemString( currentGroup(), QStringLiteral( "Archive File" ), mArchiveFile );
+ mArchiveFileItem->setLabel( QCoreApplication::translate("Test2", "Archive File") );
+ addItem( mArchiveFileItem, QStringLiteral( "ArchiveFile" ) );
+ QList<MyPrefs::ItemEnum::Choice> valuesDestination;
+ {
+ MyPrefs::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("standardDestination");
+ valuesDestination.append( choice );
+ }
+ {
+ MyPrefs::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("askDestination");
+ valuesDestination.append( choice );
+ }
+ {
+ MyPrefs::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("argl1");
+ choice.label = QCoreApplication::translate("Test2", "Argl1 Label");
+ valuesDestination.append( choice );
+ }
+ {
+ MyPrefs::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("argl2");
+ choice.whatsThis = QCoreApplication::translate("Test2", "Argl2 Whatsthis");
+ valuesDestination.append( choice );
+ }
+ {
+ MyPrefs::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("argl3");
+ choice.label = QCoreApplication::translate("Test2", "Argl3 Label");
+ choice.whatsThis = QCoreApplication::translate("Test2", "Argl3 Whatsthis");
+ valuesDestination.append( choice );
+ }
+ mDestinationItem = new MyPrefs::ItemEnum( currentGroup(), QStringLiteral( "Destination" ), mDestination, valuesDestination, standardDestination );
+ mDestinationItem->setLabel( QCoreApplication::translate("Test2", "New Events/Todos Should") );
+ addItem( mDestinationItem, QStringLiteral( "Destination" ) );
+
+ setCurrentGroup( QStringLiteral( "Views" ) );
+
+ mHourSizeItem = new MyPrefs::ItemInt( currentGroup(), QStringLiteral( "Hour Size" ), mHourSize, 10 );
+ mHourSizeItem->setLabel( QCoreApplication::translate("Test2", "Hour Size") );
+ addItem( mHourSizeItem, QStringLiteral( "HourSize" ) );
+ mSelectionStartsEditorItem = new MyPrefs::ItemBool( currentGroup(), QStringLiteral( "SelectionStartsEditor" ), mSelectionStartsEditor, false );
+ mSelectionStartsEditorItem->setLabel( QCoreApplication::translate("Test2", "Time range selection in agenda view starts event editor") );
+ addItem( mSelectionStartsEditorItem, QStringLiteral( "SelectionStartsEditor" ) );
+
+ setCurrentGroup( QStringLiteral( "KOrganizer Plugins" ) );
+
+ QStringList defaultSelectedPlugins;
+ defaultSelectedPlugins.append( QString::fromUtf8( "holidays" ) );
+ defaultSelectedPlugins.append( QString::fromUtf8( "webexport" ) );
+
+ mSelectedPluginsItem = new MyPrefs::ItemStringList( currentGroup(), QStringLiteral( "SelectedPlugins" ), mSelectedPlugins, defaultSelectedPlugins );
+ mSelectedPluginsItem->setLabel( QCoreApplication::translate("Test2", "SelectedPlugins") );
+ addItem( mSelectedPluginsItem, QStringLiteral( "SelectedPlugins" ) );
+
+ setCurrentGroup( QStringLiteral( "Colors" ) );
+
+ mHighlightColorItem = new MyPrefs::ItemColor( currentGroup(), QStringLiteral( "Highlight Color" ), mHighlightColor, QColor( 100, 100, 255 ) );
+ mHighlightColorItem->setLabel( QCoreApplication::translate("Test2", "Highlight color") );
+ addItem( mHighlightColorItem, QStringLiteral( "HighlightColor" ) );
+ mAgendaBgColorItem = new MyPrefs::ItemColor( currentGroup(), QStringLiteral( "Agenda Background Color" ), mAgendaBgColor, QColor( 255, 255, 255 ) );
+ mAgendaBgColorItem->setLabel( QCoreApplication::translate("Test2", "Agenda view background color") );
+ addItem( mAgendaBgColorItem, QStringLiteral( "AgendaBgColor" ) );
+
+ setCurrentGroup( QStringLiteral( "Fonts" ) );
+
+ mTimeBarFontItem = new MyPrefs::ItemFont( currentGroup(), QStringLiteral( "TimeBar Font" ), mTimeBarFont );
+ mTimeBarFontItem->setLabel( QCoreApplication::translate("Test2", "Time bar") );
+ addItem( mTimeBarFontItem, QStringLiteral( "TimeBarFont" ) );
+}
+
+Test2::~Test2()
+{
+}
+
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test2.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST2_H
+#define TEST2_H
+
+#include <myprefs.h>
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class Test2 : public MyPrefs
+{
+ public:
+ enum EnumDestination { standardDestination, askDestination, argl1, argl2, argl3 };
+
+ Test2( );
+ ~Test2() override;
+
+ /**
+ Set Enable automatic saving of calendar
+ */
+ void setAutoSave( bool v )
+ {
+ if (!isAutoSaveImmutable())
+ mAutoSave = v;
+ }
+
+ /**
+ Get Enable automatic saving of calendar
+ */
+ bool autoSave() const
+ {
+ return mAutoSave;
+ }
+
+ /**
+ Is Enable automatic saving of calendar Immutable
+ */
+ bool isAutoSaveImmutable() const
+ {
+ return isImmutable( QStringLiteral( "AutoSave" ) );
+ }
+
+ /**
+ Get Item object corresponding to AutoSave()
+ */
+ ItemBool *autoSaveItem()
+ {
+ return mAutoSaveItem;
+ }
+
+ /**
+ Set Auto Save Interval
+ */
+ void setAutoSaveInterval( int v )
+ {
+ if (!isAutoSaveIntervalImmutable())
+ mAutoSaveInterval = v;
+ }
+
+ /**
+ Get Auto Save Interval
+ */
+ int autoSaveInterval() const
+ {
+ return mAutoSaveInterval;
+ }
+
+ /**
+ Is Auto Save Interval Immutable
+ */
+ bool isAutoSaveIntervalImmutable() const
+ {
+ return isImmutable( QStringLiteral( "AutoSaveInterval" ) );
+ }
+
+ /**
+ Get Item object corresponding to AutoSaveInterval()
+ */
+ ItemInt *autoSaveIntervalItem()
+ {
+ return mAutoSaveIntervalItem;
+ }
+
+ /**
+ Set Confirm deletes
+ */
+ void setConfirm( bool v )
+ {
+ if (!isConfirmImmutable())
+ mConfirm = v;
+ }
+
+ /**
+ Get Confirm deletes
+ */
+ bool confirm() const
+ {
+ return mConfirm;
+ }
+
+ /**
+ Is Confirm deletes Immutable
+ */
+ bool isConfirmImmutable() const
+ {
+ return isImmutable( QStringLiteral( "Confirm" ) );
+ }
+
+ /**
+ Get Item object corresponding to Confirm()
+ */
+ ItemBool *confirmItem()
+ {
+ return mConfirmItem;
+ }
+
+ /**
+ Set Archive File
+ */
+ void setArchiveFile( const QString & v )
+ {
+ if (!isArchiveFileImmutable())
+ mArchiveFile = v;
+ }
+
+ /**
+ Get Archive File
+ */
+ QString archiveFile() const
+ {
+ return mArchiveFile;
+ }
+
+ /**
+ Is Archive File Immutable
+ */
+ bool isArchiveFileImmutable() const
+ {
+ return isImmutable( QStringLiteral( "ArchiveFile" ) );
+ }
+
+ /**
+ Get Item object corresponding to ArchiveFile()
+ */
+ ItemString *archiveFileItem()
+ {
+ return mArchiveFileItem;
+ }
+
+ /**
+ Set New Events/Todos Should
+ */
+ void setDestination( int v )
+ {
+ if (!isDestinationImmutable())
+ mDestination = v;
+ }
+
+ /**
+ Get New Events/Todos Should
+ */
+ int destination() const
+ {
+ return mDestination;
+ }
+
+ /**
+ Is New Events/Todos Should Immutable
+ */
+ bool isDestinationImmutable() const
+ {
+ return isImmutable( QStringLiteral( "Destination" ) );
+ }
+
+ /**
+ Get Item object corresponding to Destination()
+ */
+ ItemEnum *destinationItem()
+ {
+ return mDestinationItem;
+ }
+
+ /**
+ Set Hour Size
+ */
+ void setHourSize( int v )
+ {
+ if (!isHourSizeImmutable())
+ mHourSize = v;
+ }
+
+ /**
+ Get Hour Size
+ */
+ int hourSize() const
+ {
+ return mHourSize;
+ }
+
+ /**
+ Is Hour Size Immutable
+ */
+ bool isHourSizeImmutable() const
+ {
+ return isImmutable( QStringLiteral( "HourSize" ) );
+ }
+
+ /**
+ Get Item object corresponding to HourSize()
+ */
+ ItemInt *hourSizeItem()
+ {
+ return mHourSizeItem;
+ }
+
+ /**
+ Set Time range selection in agenda view starts event editor
+ */
+ void setSelectionStartsEditor( bool v )
+ {
+ if (!isSelectionStartsEditorImmutable())
+ mSelectionStartsEditor = v;
+ }
+
+ /**
+ Get Time range selection in agenda view starts event editor
+ */
+ bool selectionStartsEditor() const
+ {
+ return mSelectionStartsEditor;
+ }
+
+ /**
+ Is Time range selection in agenda view starts event editor Immutable
+ */
+ bool isSelectionStartsEditorImmutable() const
+ {
+ return isImmutable( QStringLiteral( "SelectionStartsEditor" ) );
+ }
+
+ /**
+ Get Item object corresponding to SelectionStartsEditor()
+ */
+ ItemBool *selectionStartsEditorItem()
+ {
+ return mSelectionStartsEditorItem;
+ }
+
+ /**
+ Set SelectedPlugins
+ */
+ void setSelectedPlugins( const QStringList & v )
+ {
+ if (!isSelectedPluginsImmutable())
+ mSelectedPlugins = v;
+ }
+
+ /**
+ Get SelectedPlugins
+ */
+ QStringList selectedPlugins() const
+ {
+ return mSelectedPlugins;
+ }
+
+ /**
+ Is SelectedPlugins Immutable
+ */
+ bool isSelectedPluginsImmutable() const
+ {
+ return isImmutable( QStringLiteral( "SelectedPlugins" ) );
+ }
+
+ /**
+ Get Item object corresponding to SelectedPlugins()
+ */
+ ItemStringList *selectedPluginsItem()
+ {
+ return mSelectedPluginsItem;
+ }
+
+ /**
+ Set Highlight color
+ */
+ void setHighlightColor( const QColor & v )
+ {
+ if (!isHighlightColorImmutable())
+ mHighlightColor = v;
+ }
+
+ /**
+ Get Highlight color
+ */
+ QColor highlightColor() const
+ {
+ return mHighlightColor;
+ }
+
+ /**
+ Is Highlight color Immutable
+ */
+ bool isHighlightColorImmutable() const
+ {
+ return isImmutable( QStringLiteral( "HighlightColor" ) );
+ }
+
+ /**
+ Get Item object corresponding to HighlightColor()
+ */
+ ItemColor *highlightColorItem()
+ {
+ return mHighlightColorItem;
+ }
+
+ /**
+ Set Agenda view background color
+ */
+ void setAgendaBgColor( const QColor & v )
+ {
+ if (!isAgendaBgColorImmutable())
+ mAgendaBgColor = v;
+ }
+
+ /**
+ Get Agenda view background color
+ */
+ QColor agendaBgColor() const
+ {
+ return mAgendaBgColor;
+ }
+
+ /**
+ Is Agenda view background color Immutable
+ */
+ bool isAgendaBgColorImmutable() const
+ {
+ return isImmutable( QStringLiteral( "AgendaBgColor" ) );
+ }
+
+ /**
+ Get Item object corresponding to AgendaBgColor()
+ */
+ ItemColor *agendaBgColorItem()
+ {
+ return mAgendaBgColorItem;
+ }
+
+ /**
+ Set Time bar
+ */
+ void setTimeBarFont( const QFont & v )
+ {
+ if (!isTimeBarFontImmutable())
+ mTimeBarFont = v;
+ }
+
+ /**
+ Get Time bar
+ */
+ QFont timeBarFont() const
+ {
+ return mTimeBarFont;
+ }
+
+ /**
+ Is Time bar Immutable
+ */
+ bool isTimeBarFontImmutable() const
+ {
+ return isImmutable( QStringLiteral( "TimeBarFont" ) );
+ }
+
+ /**
+ Get Item object corresponding to TimeBarFont()
+ */
+ ItemFont *timeBarFontItem()
+ {
+ return mTimeBarFontItem;
+ }
+
+ protected:
+ public:
+
+ // General
+ bool mAutoSave;
+ int mAutoSaveInterval;
+ bool mConfirm;
+ QString mArchiveFile;
+ int mDestination;
+
+ // Views
+ int mHourSize;
+ bool mSelectionStartsEditor;
+
+ // KOrganizer Plugins
+ QStringList mSelectedPlugins;
+
+ // Colors
+ QColor mHighlightColor;
+ QColor mAgendaBgColor;
+
+ // Fonts
+ QFont mTimeBarFont;
+
+ private:
+ ItemBool *mAutoSaveItem;
+ ItemInt *mAutoSaveIntervalItem;
+ ItemBool *mConfirmItem;
+ ItemString *mArchiveFileItem;
+ ItemEnum *mDestinationItem;
+ ItemInt *mHourSizeItem;
+ ItemBool *mSelectionStartsEditorItem;
+ ItemStringList *mSelectedPluginsItem;
+ ItemColor *mHighlightColorItem;
+ ItemColor *mAgendaBgColorItem;
+ ItemFont *mTimeBarFontItem;
+};
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile name="korganizerrc"/>
+
+ <group name="General">
+ <entry type="Bool" key="Auto Save">
+ <label>Enable automatic saving of calendar</label>
+ <whatsthis>WhatsThis text for AutoSave option</whatsthis>
+ <default>false</default>
+ </entry>
+ <entry type="Int" key="Auto Save Interval">
+ <default>10</default>
+ </entry>
+ <entry type="Bool" key="Confirm Deletes" name="Confirm">
+ <label>Confirm deletes</label>
+ <default>true</default>
+ </entry>
+ <entry type="String" key="Archive File">
+ </entry>
+ <entry type="Enum" key="Destination" name="Destination">
+ <label>New Events/Todos Should</label>
+ <choices>
+ <choice name="standardDestination">
+ </choice>
+ <choice name="askDestination">
+ </choice>
+ <choice name="argl1">
+ <label>Argl1 Label</label>
+ </choice>
+ <choice name="argl2">
+ <whatsthis>Argl2 Whatsthis</whatsthis>
+ </choice>
+ <choice name="argl3">
+ <label>Argl3 Label</label>
+ <whatsthis>Argl3 Whatsthis</whatsthis>
+ </choice>
+ </choices>
+ <default>standardDestination</default>
+ </entry>
+ </group>
+
+ <group name="Views">
+ <entry type="Int" key="Hour Size">
+ <default>10</default>
+ </entry>
+ <entry type="Bool" name="SelectionStartsEditor">
+ <label>Time range selection in agenda view starts event editor</label>
+ <default>false</default>
+ </entry>
+ </group>
+
+ <group name="KOrganizer Plugins">
+ <entry type="StringList" name="SelectedPlugins">
+ <default>holidays,webexport</default>
+ </entry>
+ </group>
+
+ <group name="Colors">
+ <entry type="Color" key="Highlight Color">
+ <label>Highlight color</label>
+ <default>100, 100, 255</default>
+ </entry>
+ <entry type="Color" key="Agenda Background Color" name="AgendaBgColor">
+ <label>Agenda view background color</label>
+ <default>255, 255, 255</default>
+ </entry>
+ </group>
+
+ <group name="Fonts">
+ <entry type="Font" key="TimeBar Font">
+ <label>Time bar</label>
+ </entry>
+ </group>
+
+</kcfg>
--- /dev/null
+# Code generation options for kconfig_compiler_kf6
+File=test2.kcfg
+ClassName=Test2
+Singleton=false
+Mutators=true
+Inherits=MyPrefs
+IncludeFiles=myprefs.h
+MemberVariables=public
+GlobalEnums=true
+ItemAccessors=true
+SetUserTexts=true
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+
+ SPDX-License-Identifier: MIT
+*/
+#include "test2.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+ QGuiApplication app(argc, argv);
+ Q_UNUSED(app);
+ Test2 t = Test2();
+ return 0;
+}
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test3.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test3.h"
+
+using namespace TestNameSpace;
+
+Test3::Test3( )
+ : KConfigSkeleton( QStringLiteral( "test3rc" ) )
+{
+ setCurrentGroup( QStringLiteral( "General" ) );
+
+ mAutoSaveItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Auto Save" ), mAutoSave, false );
+ addItem( mAutoSaveItem, QStringLiteral( "AutoSave" ) );
+
+ setCurrentGroup( QStringLiteral( "Blah" ) );
+
+ mBlubbItem = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Blubb" ), mBlubb, 10 );
+ addItem( mBlubbItem, QStringLiteral( "Blubb" ) );
+ mBlahBlahItem = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "BlahBlah" ), mBlahBlah, QStringLiteral( "a string" ) );
+ addItem( mBlahBlahItem, QStringLiteral( "BlahBlah" ) );
+ mMyPasswordItem = new KConfigSkeleton::ItemPassword( currentGroup(), QStringLiteral( "MyPassword" ), mMyPassword );
+ addItem( mMyPasswordItem, QStringLiteral( "MyPassword" ) );
+}
+
+Test3::~Test3()
+{
+}
+
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test3.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TESTNAMESPACE_TEST3_H
+#define TESTNAMESPACE_TEST3_H
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+namespace TestNameSpace {
+
+class Test3 : public KConfigSkeleton
+{
+ public:
+
+ Test3( );
+ ~Test3() override;
+
+ /**
+ Set Enable automatic saving of calendar
+ */
+ void setAutoSave( bool v )
+ {
+ if (!isAutoSaveImmutable())
+ mAutoSave = v;
+ }
+
+ /**
+ Get Enable automatic saving of calendar
+ */
+ bool autoSave() const
+ {
+ return mAutoSave;
+ }
+
+ /**
+ Is Enable automatic saving of calendar Immutable
+ */
+ bool isAutoSaveImmutable() const
+ {
+ return isImmutable( QStringLiteral( "AutoSave" ) );
+ }
+
+ /**
+ Get Item object corresponding to AutoSave()
+ */
+ ItemBool *autoSaveItem()
+ {
+ return mAutoSaveItem;
+ }
+
+ /**
+ Set Blubb
+ */
+ void setBlubb( int v )
+ {
+ if (!isBlubbImmutable())
+ mBlubb = v;
+ }
+
+ /**
+ Get Blubb
+ */
+ int blubb() const
+ {
+ return mBlubb;
+ }
+
+ /**
+ Is Blubb Immutable
+ */
+ bool isBlubbImmutable() const
+ {
+ return isImmutable( QStringLiteral( "Blubb" ) );
+ }
+
+ /**
+ Get Item object corresponding to Blubb()
+ */
+ ItemInt *blubbItem()
+ {
+ return mBlubbItem;
+ }
+
+ /**
+ Set BlahBlah
+ */
+ void setBlahBlah( const QString & v )
+ {
+ if (!isBlahBlahImmutable())
+ mBlahBlah = v;
+ }
+
+ /**
+ Get BlahBlah
+ */
+ QString blahBlah() const
+ {
+ return mBlahBlah;
+ }
+
+ /**
+ Is BlahBlah Immutable
+ */
+ bool isBlahBlahImmutable() const
+ {
+ return isImmutable( QStringLiteral( "BlahBlah" ) );
+ }
+
+ /**
+ Get Item object corresponding to BlahBlah()
+ */
+ ItemString *blahBlahItem()
+ {
+ return mBlahBlahItem;
+ }
+
+ /**
+ Set MyPassword
+ */
+ void setMyPassword( const QString & v )
+ {
+ if (!isMyPasswordImmutable())
+ mMyPassword = v;
+ }
+
+ /**
+ Get MyPassword
+ */
+ QString myPassword() const
+ {
+ return mMyPassword;
+ }
+
+ /**
+ Is MyPassword Immutable
+ */
+ bool isMyPasswordImmutable() const
+ {
+ return isImmutable( QStringLiteral( "MyPassword" ) );
+ }
+
+ /**
+ Get Item object corresponding to MyPassword()
+ */
+ ItemPassword *myPasswordItem()
+ {
+ return mMyPasswordItem;
+ }
+
+ protected:
+
+ // General
+ bool mAutoSave;
+
+ // Blah
+ int mBlubb;
+ QString mBlahBlah;
+ QString mMyPassword;
+
+ private:
+ ItemBool *mAutoSaveItem;
+ ItemInt *mBlubbItem;
+ ItemString *mBlahBlahItem;
+ ItemPassword *mMyPasswordItem;
+};
+
+}
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile name="test3rc"/>
+
+ <group name="General">
+ <entry type="Bool" key="Auto Save">
+ <label>Enable automatic saving of calendar</label>
+ <whatsthis>WhatsThis text for AutoSave option</whatsthis>
+ <default>false</default>
+ </entry>
+ </group>
+
+ <group name="Blah">
+ <entry type="Int" name="Blubb">
+ <default>10</default>
+ </entry>
+ <entry type="String" name="BlahBlah">
+ <default>a string</default>
+ </entry>
+ <entry type="Password" name="MyPassword"/>
+ </group>
+
+</kcfg>
--- /dev/null
+# Code generation options for kconfig_compiler_kf6
+File=test3.kcfg
+NameSpace=TestNameSpace
+ClassName=Test3
+#Singleton=false
+Mutators=true
+#Inherits=MyPrefs
+#IncludeFiles=myprefs.h
+#MemberVariables=public
+GlobalEnums=true
+ItemAccessors=true
+#SetUserTexts=true
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test3a.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test3a.h"
+
+using namespace TestNameSpace::InnerNameSpace;
+
+Test3a::Test3a( )
+ : KConfigSkeleton( QStringLiteral( "test3arc" ) )
+{
+ setCurrentGroup( QStringLiteral( "General" ) );
+
+ mAutoSaveItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Auto Save" ), mAutoSave, false );
+ addItem( mAutoSaveItem, QStringLiteral( "AutoSave" ) );
+
+ setCurrentGroup( QStringLiteral( "Blah" ) );
+
+ mBlubbItem = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Blubb" ), mBlubb, 10 );
+ addItem( mBlubbItem, QStringLiteral( "Blubb" ) );
+ mBlahBlahItem = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "BlahBlah" ), mBlahBlah, QStringLiteral( "a string" ) );
+ addItem( mBlahBlahItem, QStringLiteral( "BlahBlah" ) );
+ mMyPasswordItem = new KConfigSkeleton::ItemPassword( currentGroup(), QStringLiteral( "MyPassword" ), mMyPassword );
+ addItem( mMyPasswordItem, QStringLiteral( "MyPassword" ) );
+}
+
+Test3a::~Test3a()
+{
+}
+
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test3a.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TESTNAMESPACE_INNERNAMESPACE_TEST3A_H
+#define TESTNAMESPACE_INNERNAMESPACE_TEST3A_H
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+namespace TestNameSpace {
+namespace InnerNameSpace {
+
+class Test3a : public KConfigSkeleton
+{
+ public:
+
+ Test3a( );
+ ~Test3a() override;
+
+ /**
+ Set Enable automatic saving of calendar
+ */
+ void setAutoSave( bool v )
+ {
+ if (!isAutoSaveImmutable())
+ mAutoSave = v;
+ }
+
+ /**
+ Get Enable automatic saving of calendar
+ */
+ bool autoSave() const
+ {
+ return mAutoSave;
+ }
+
+ /**
+ Is Enable automatic saving of calendar Immutable
+ */
+ bool isAutoSaveImmutable() const
+ {
+ return isImmutable( QStringLiteral( "AutoSave" ) );
+ }
+
+ /**
+ Get Item object corresponding to AutoSave()
+ */
+ ItemBool *autoSaveItem()
+ {
+ return mAutoSaveItem;
+ }
+
+ /**
+ Set Blubb
+ */
+ void setBlubb( int v )
+ {
+ if (!isBlubbImmutable())
+ mBlubb = v;
+ }
+
+ /**
+ Get Blubb
+ */
+ int blubb() const
+ {
+ return mBlubb;
+ }
+
+ /**
+ Is Blubb Immutable
+ */
+ bool isBlubbImmutable() const
+ {
+ return isImmutable( QStringLiteral( "Blubb" ) );
+ }
+
+ /**
+ Get Item object corresponding to Blubb()
+ */
+ ItemInt *blubbItem()
+ {
+ return mBlubbItem;
+ }
+
+ /**
+ Set BlahBlah
+ */
+ void setBlahBlah( const QString & v )
+ {
+ if (!isBlahBlahImmutable())
+ mBlahBlah = v;
+ }
+
+ /**
+ Get BlahBlah
+ */
+ QString blahBlah() const
+ {
+ return mBlahBlah;
+ }
+
+ /**
+ Is BlahBlah Immutable
+ */
+ bool isBlahBlahImmutable() const
+ {
+ return isImmutable( QStringLiteral( "BlahBlah" ) );
+ }
+
+ /**
+ Get Item object corresponding to BlahBlah()
+ */
+ ItemString *blahBlahItem()
+ {
+ return mBlahBlahItem;
+ }
+
+ /**
+ Set MyPassword
+ */
+ void setMyPassword( const QString & v )
+ {
+ if (!isMyPasswordImmutable())
+ mMyPassword = v;
+ }
+
+ /**
+ Get MyPassword
+ */
+ QString myPassword() const
+ {
+ return mMyPassword;
+ }
+
+ /**
+ Is MyPassword Immutable
+ */
+ bool isMyPasswordImmutable() const
+ {
+ return isImmutable( QStringLiteral( "MyPassword" ) );
+ }
+
+ /**
+ Get Item object corresponding to MyPassword()
+ */
+ ItemPassword *myPasswordItem()
+ {
+ return mMyPasswordItem;
+ }
+
+ protected:
+
+ // General
+ bool mAutoSave;
+
+ // Blah
+ int mBlubb;
+ QString mBlahBlah;
+ QString mMyPassword;
+
+ private:
+ ItemBool *mAutoSaveItem;
+ ItemInt *mBlubbItem;
+ ItemString *mBlahBlahItem;
+ ItemPassword *mMyPasswordItem;
+};
+
+}
+}
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile name="test3arc"/>
+
+ <group name="General">
+ <entry type="Bool" key="Auto Save">
+ <label>Enable automatic saving of calendar</label>
+ <whatsthis>WhatsThis text for AutoSave option</whatsthis>
+ <default>false</default>
+ </entry>
+ </group>
+
+ <group name="Blah">
+ <entry type="Int" name="Blubb">
+ <default>10</default>
+ </entry>
+ <entry type="String" name="BlahBlah">
+ <default>a string</default>
+ </entry>
+ <entry type="Password" name="MyPassword"/>
+ </group>
+
+</kcfg>
--- /dev/null
+# Code generation options for kconfig_compiler_kf6
+File=test3a.kcfg
+NameSpace=TestNameSpace::InnerNameSpace
+ClassName=Test3a
+#Singleton=false
+Mutators=true
+#Inherits=MyPrefs
+#IncludeFiles=myprefs.h
+#MemberVariables=public
+GlobalEnums=true
+ItemAccessors=true
+#SetUserTexts=true
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2009 Pino Toscano <pino@kde.org>
+
+ SPDX-License-Identifier: MIT
+*/
+#include "test3a.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+ QGuiApplication app(argc, argv);
+ Q_UNUSED(app);
+ TestNameSpace::InnerNameSpace::Test3a t = TestNameSpace::InnerNameSpace::Test3a();
+ return 0;
+}
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+
+ SPDX-License-Identifier: MIT
+*/
+#include "test3.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+ QGuiApplication app(argc, argv);
+ Q_UNUSED(app);
+ TestNameSpace::Test3 t = TestNameSpace::Test3();
+ return 0;
+}
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test4.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test4.h"
+
+#include <qglobal.h>
+#include <QFile>
+
+class Test4Helper
+{
+ public:
+ Test4Helper() : q(nullptr) {}
+ ~Test4Helper() { delete q; q = nullptr; }
+ Test4Helper(const Test4Helper&) = delete;
+ Test4Helper& operator=(const Test4Helper&) = delete;
+ Test4 *q;
+};
+Q_GLOBAL_STATIC(Test4Helper, s_globalTest4)
+Test4 *Test4::self()
+{
+ if (!s_globalTest4()->q) {
+ new Test4;
+ s_globalTest4()->q->read();
+ }
+
+ return s_globalTest4()->q;
+}
+
+const char* const Test4::EnumButton::enumToString[] = { "right", "mid", "left" };
+
+Test4::Test4( )
+ : KConfigSkeleton( QStringLiteral( "test4rc" ) )
+{
+ Q_ASSERT(!s_globalTest4()->q);
+ s_globalTest4()->q = this;
+ setCurrentGroup( QStringLiteral( "Foo" ) );
+
+QColor defaultColor[4] = { Qt::red, Qt::blue, Qt::green, Qt::black };
+ KConfigSkeleton::ItemColor *itemColor[4];
+ itemColor[0] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "color #0" ), mColor[0], defaultColor[0] );
+ addItem( itemColor[0], QStringLiteral( "Color0" ) );
+ itemColor[1] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "color #1" ), mColor[1], defaultColor[1] );
+ addItem( itemColor[1], QStringLiteral( "Color1" ) );
+ itemColor[2] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "color #2" ), mColor[2], defaultColor[2] );
+ addItem( itemColor[2], QStringLiteral( "Color2" ) );
+ itemColor[3] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "color #3" ), mColor[3], defaultColor[3] );
+ addItem( itemColor[3], QStringLiteral( "Color3" ) );
+ QList<KConfigSkeleton::ItemEnum::Choice> valuesMouseAction;
+ {
+ KConfigSkeleton::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("Encrypt");
+ valuesMouseAction.append( choice );
+ }
+ {
+ KConfigSkeleton::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("Decrypt");
+ valuesMouseAction.append( choice );
+ }
+ {
+ KConfigSkeleton::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("CrashNBurn");
+ valuesMouseAction.append( choice );
+ }
+ {
+ KConfigSkeleton::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("PumpNDump");
+ valuesMouseAction.append( choice );
+ }
+ KConfigSkeleton::ItemEnum *itemMouseAction[3];
+ itemMouseAction[0] = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "right_mouse_action" ), mMouseAction[0], valuesMouseAction, EnumMouseAction::Decrypt );
+ itemMouseAction[0]->setValueForChoice(QStringLiteral( "CrashNBurn" ), QStringLiteral( "Crash and Burn" ));
+ addItem( itemMouseAction[0], QStringLiteral( "MouseActionright" ) );
+ itemMouseAction[1] = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "mid_mouse_action" ), mMouseAction[1], valuesMouseAction, EnumMouseAction::Encrypt );
+ itemMouseAction[1]->setValueForChoice(QStringLiteral( "CrashNBurn" ), QStringLiteral( "Crash and Burn" ));
+ addItem( itemMouseAction[1], QStringLiteral( "MouseActionmid" ) );
+ itemMouseAction[2] = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "left_mouse_action" ), mMouseAction[2], valuesMouseAction, EnumMouseAction::PumpNDump );
+ itemMouseAction[2]->setValueForChoice(QStringLiteral( "CrashNBurn" ), QStringLiteral( "Crash and Burn" ));
+ addItem( itemMouseAction[2], QStringLiteral( "MouseActionleft" ) );
+ KConfigSkeleton::ItemColor *itemGrayColor[11];
+ itemGrayColor[0] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "gray color #0" ), mGrayColor[0],
+ QColor::fromRgbF(0 / 10.0, 0 / 10.0, 0 / 10.0)
+ );
+ addItem( itemGrayColor[0], QStringLiteral( "GrayColor0" ) );
+ itemGrayColor[1] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "gray color #1" ), mGrayColor[1],
+ QColor::fromRgbF(1 / 10.0, 1 / 10.0, 1 / 10.0)
+ );
+ addItem( itemGrayColor[1], QStringLiteral( "GrayColor1" ) );
+ itemGrayColor[2] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "gray color #2" ), mGrayColor[2],
+ QColor::fromRgbF(2 / 10.0, 2 / 10.0, 2 / 10.0)
+ );
+ addItem( itemGrayColor[2], QStringLiteral( "GrayColor2" ) );
+ itemGrayColor[3] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "gray color #3" ), mGrayColor[3],
+ QColor::fromRgbF(3 / 10.0, 3 / 10.0, 3 / 10.0)
+ );
+ addItem( itemGrayColor[3], QStringLiteral( "GrayColor3" ) );
+ itemGrayColor[4] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "gray color #4" ), mGrayColor[4],
+ QColor::fromRgbF(4 / 10.0, 4 / 10.0, 4 / 10.0)
+ );
+ addItem( itemGrayColor[4], QStringLiteral( "GrayColor4" ) );
+ itemGrayColor[5] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "gray color #5" ), mGrayColor[5],
+ QColor::fromRgbF(5 / 10.0, 5 / 10.0, 5 / 10.0)
+ );
+ addItem( itemGrayColor[5], QStringLiteral( "GrayColor5" ) );
+ itemGrayColor[6] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "gray color #6" ), mGrayColor[6],
+ QColor::fromRgbF(6 / 10.0, 6 / 10.0, 6 / 10.0)
+ );
+ addItem( itemGrayColor[6], QStringLiteral( "GrayColor6" ) );
+ itemGrayColor[7] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "gray color #7" ), mGrayColor[7],
+ QColor::fromRgbF(7 / 10.0, 7 / 10.0, 7 / 10.0)
+ );
+ addItem( itemGrayColor[7], QStringLiteral( "GrayColor7" ) );
+ itemGrayColor[8] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "gray color #8" ), mGrayColor[8],
+ QColor::fromRgbF(8 / 10.0, 8 / 10.0, 8 / 10.0)
+ );
+ addItem( itemGrayColor[8], QStringLiteral( "GrayColor8" ) );
+ itemGrayColor[9] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "gray color #9" ), mGrayColor[9],
+ QColor::fromRgbF(9 / 10.0, 9 / 10.0, 9 / 10.0)
+ );
+ addItem( itemGrayColor[9], QStringLiteral( "GrayColor9" ) );
+ itemGrayColor[10] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "gray color #10" ), mGrayColor[10],
+ QColor::fromRgbF(10 / 10.0, 10 / 10.0, 10 / 10.0)
+ );
+ addItem( itemGrayColor[10], QStringLiteral( "GrayColor10" ) );
+ KConfigSkeleton::ItemString *itemColorString[11];
+ itemColorString[0] = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "color string #0" ), mColorString[0],
+ QString::number(0)
+ );
+ addItem( itemColorString[0], QStringLiteral( "ColorString0" ) );
+ itemColorString[1] = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "color string #1" ), mColorString[1],
+ QString::number(1)
+ );
+ addItem( itemColorString[1], QStringLiteral( "ColorString1" ) );
+ itemColorString[2] = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "color string #2" ), mColorString[2],
+ QString::number(2)
+ );
+ addItem( itemColorString[2], QStringLiteral( "ColorString2" ) );
+ itemColorString[3] = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "color string #3" ), mColorString[3],
+ QString::number(3)
+ );
+ addItem( itemColorString[3], QStringLiteral( "ColorString3" ) );
+ itemColorString[4] = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "color string #4" ), mColorString[4],
+ QString::number(4)
+ );
+ addItem( itemColorString[4], QStringLiteral( "ColorString4" ) );
+ itemColorString[5] = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "color string #5" ), mColorString[5],
+ QString::number(5)
+ );
+ addItem( itemColorString[5], QStringLiteral( "ColorString5" ) );
+ itemColorString[6] = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "color string #6" ), mColorString[6],
+ QString::number(6)
+ );
+ addItem( itemColorString[6], QStringLiteral( "ColorString6" ) );
+ itemColorString[7] = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "color string #7" ), mColorString[7],
+ QString::number(7)
+ );
+ addItem( itemColorString[7], QStringLiteral( "ColorString7" ) );
+ itemColorString[8] = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "color string #8" ), mColorString[8],
+ QString::number(8)
+ );
+ addItem( itemColorString[8], QStringLiteral( "ColorString8" ) );
+ itemColorString[9] = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "color string #9" ), mColorString[9],
+ QString::number(9)
+ );
+ addItem( itemColorString[9], QStringLiteral( "ColorString9" ) );
+ itemColorString[10] = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "color string #10" ), mColorString[10],
+ QString::number(10)
+ );
+ addItem( itemColorString[10], QStringLiteral( "ColorString10" ) );
+ KConfigSkeleton::ItemString *itemFooBar;
+ itemFooBar = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "foo bar" ), mFooBar );
+ addItem( itemFooBar, QStringLiteral( "FooBar" ) );
+ KConfigSkeleton::ItemInt *itemAge;
+ itemAge = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Age" ), mAge, 35 );
+ itemAge->setMinValue(8);
+ itemAge->setMaxValue(88);
+ addItem( itemAge, QStringLiteral( "Age" ) );
+}
+
+Test4::~Test4()
+{
+ if (s_globalTest4.exists() && !s_globalTest4.isDestroyed()) {
+ s_globalTest4()->q = nullptr;
+ }
+}
+
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test4.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST4_H
+#define TEST4_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class Test4 : public KConfigSkeleton
+{
+ public:
+ class EnumMouseAction
+ {
+ public:
+ enum type { Encrypt, Decrypt, CrashNBurn, PumpNDump, COUNT };
+ };
+ class EnumButton
+ {
+ public:
+ enum type { right, mid, left, COUNT };
+ static const char* const enumToString[];
+ };
+
+ static Test4 *self();
+ ~Test4() override;
+
+ /**
+ Set Block colors.
+ */
+ static
+ void setColor( int i, const QColor & v )
+ {
+ if (!self()->isColorImmutable( i ))
+ self()->mColor[i] = v;
+ }
+
+ /**
+ Get Block colors.
+ */
+ static
+ QColor color( int i )
+ {
+ return self()->mColor[i];
+ }
+
+ /**
+ Is Block colors. Immutable
+ */
+ static
+ bool isColorImmutable( int i )
+ {
+ return self()->isImmutable( QStringLiteral( "Color%1" ).arg( i ) );
+ }
+
+ /**
+ Set Mouse actions.
+ */
+ static
+ void setMouseAction( int i, int v )
+ {
+ if (!self()->isMouseActionImmutable( i ))
+ self()->mMouseAction[i] = v;
+ }
+
+ /**
+ Get Mouse actions.
+ */
+ static
+ int mouseAction( int i )
+ {
+ return self()->mMouseAction[i];
+ }
+
+ /**
+ Is Mouse actions. Immutable
+ */
+ static
+ bool isMouseActionImmutable( int i )
+ {
+ return self()->isImmutable( QStringLiteral( "MouseAction%1" ).arg( QLatin1String( EnumButton::enumToString[i] ) ) );
+ }
+
+ /**
+ Set Gray colors.
+ */
+ static
+ void setGrayColor( int i, const QColor & v )
+ {
+ if (!self()->isGrayColorImmutable( i ))
+ self()->mGrayColor[i] = v;
+ }
+
+ /**
+ Get Gray colors.
+ */
+ static
+ QColor grayColor( int i )
+ {
+ return self()->mGrayColor[i];
+ }
+
+ /**
+ Is Gray colors. Immutable
+ */
+ static
+ bool isGrayColorImmutable( int i )
+ {
+ return self()->isImmutable( QStringLiteral( "GrayColor%1" ).arg( i ) );
+ }
+
+ /**
+ Set Gray colors as string.
+ */
+ static
+ void setColorString( int i, const QString & v )
+ {
+ if (!self()->isColorStringImmutable( i ))
+ self()->mColorString[i] = v;
+ }
+
+ /**
+ Get Gray colors as string.
+ */
+ static
+ QString colorString( int i )
+ {
+ return self()->mColorString[i];
+ }
+
+ /**
+ Is Gray colors as string. Immutable
+ */
+ static
+ bool isColorStringImmutable( int i )
+ {
+ return self()->isImmutable( QStringLiteral( "ColorString%1" ).arg( i ) );
+ }
+
+ /**
+ Set foo bar
+ */
+ static
+ void setFooBar( const QString & v )
+ {
+ if (!self()->isFooBarImmutable())
+ self()->mFooBar = v;
+ }
+
+ /**
+ Get foo bar
+ */
+ static
+ QString fooBar()
+ {
+ return self()->mFooBar;
+ }
+
+ /**
+ Is foo bar Immutable
+ */
+ static
+ bool isFooBarImmutable()
+ {
+ return self()->isImmutable( QStringLiteral( "FooBar" ) );
+ }
+
+ /**
+ Set Age
+ */
+ static
+ void setAge( int v )
+ {
+ if (v < 8)
+ {
+ qDebug() << "setAge: value " << v << " is less than the minimum value of 8";
+ v = 8;
+ }
+
+ if (v > 88)
+ {
+ qDebug() << "setAge: value " << v << " is greater than the maximum value of 88";
+ v = 88;
+ }
+
+ if (!self()->isAgeImmutable())
+ self()->mAge = v;
+ }
+
+ /**
+ Get Age
+ */
+ static
+ int age()
+ {
+ return self()->mAge;
+ }
+
+ /**
+ Is Age Immutable
+ */
+ static
+ bool isAgeImmutable()
+ {
+ return self()->isImmutable( QStringLiteral( "Age" ) );
+ }
+
+ protected:
+ Test4();
+ friend class Test4Helper;
+
+
+ // Foo
+ QColor mColor[4];
+ int mMouseAction[3];
+ QColor mGrayColor[11];
+ QString mColorString[11];
+ QString mFooBar;
+ int mAge;
+
+ private:
+};
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile name="test4rc"/>
+
+ <group name="Foo">
+ <entry name="Color$(Number)" type="Color" key="color #$(Number)">
+ <parameter name="Number" type="Int" max="3"/>
+ <label>Block colors.</label>
+ <code>QColor defaultColor[4] = { Qt::red, Qt::blue, Qt::green, Qt::black };</code>
+ <default code="true">defaultColor[$(Number)]</default>
+ </entry>
+ <entry name="MouseAction$(Button)" type="Enum" key="$(Button)_mouse_action">
+ <parameter name="Button" type="Enum">
+ <values>
+ <value>right</value>
+ <value>mid</value>
+ <value>left</value>
+ </values>
+ </parameter>
+ <label>Mouse actions.</label>
+ <choices>
+ <choice name="Encrypt"/>
+ <choice name="Decrypt"/>
+ <choice name="CrashNBurn" value="Crash and Burn"/>
+ <choice name="PumpNDump"/>
+ </choices>
+ <default param="right">Decrypt</default>
+ <default param="mid">Encrypt</default>
+ <default param="left">PumpNDump</default>
+ </entry>
+ <entry name="GrayColor$(Number)" type="Color" key="gray color #$(Number)">
+ <parameter name="Number" type="Int" max="10"/>
+ <label>Gray colors.</label>
+ <default code="true">
+ QColor::fromRgbF($(Number) / 10.0, $(Number) / 10.0, $(Number) / 10.0)
+ </default>
+ </entry>
+ <entry name="ColorString$(Number)" type="String" key="color string #$(Number)">
+ <parameter name="Number" type="Int" max="10"/>
+ <label>Gray colors as string.</label>
+ <default code="true">
+ QString::number($(Number))
+ </default>
+ </entry>
+ <entry name="FooBar" key="foo bar" type="String"/>
+ <entry name="Age" type="Int">
+ <default>35</default>
+ <min>8</min>
+ <max>88</max>
+ </entry>
+ </group>
+
+</kcfg>
--- /dev/null
+# Code generation options for kconfig_compiler_kf6
+File=test4.kcfg
+ClassName=Test4
+Singleton=true
+Mutators=true
+#Inherits=MyPrefs
+#IncludeFiles=myprefs.h
+#MemberVariables=public
+GlobalEnums=false
+ItemAccessors=false
+#SetUserTexts=true
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2003, 2004 Waldo Bastian <bastian@kde.org>
+
+ SPDX-License-Identifier: MIT
+*/
+
+#include "test4.h"
+#include <QFile>
+#include <QGuiApplication>
+#include <QStandardPaths>
+
+int main(int argc, char **argv)
+{
+ QGuiApplication app(argc, argv);
+ Q_UNUSED(app);
+ {
+ KConfig initialConfig(QStringLiteral("test4rc"));
+ KConfigGroup group = initialConfig.group(QStringLiteral("Foo"));
+ group.writeEntry(QStringLiteral("foo bar"), QStringLiteral("Value"));
+ }
+ Test4 *t = Test4::self();
+ const bool ok = QFile::exists(QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + QLatin1String{"/test4rc"});
+ if (!ok) {
+ qWarning() << "config file was not created!";
+ }
+ if (t->fooBar() != QLatin1String("Value")) {
+ qWarning() << "wrong value for foo bar:" << t->fooBar();
+ }
+ delete t;
+ return ok ? 0 : 1;
+}
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test5.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test5.h"
+
+#include <qglobal.h>
+#include <QFile>
+
+class Test5Helper
+{
+ public:
+ Test5Helper() : q(nullptr) {}
+ ~Test5Helper() { delete q; q = nullptr; }
+ Test5Helper(const Test5Helper&) = delete;
+ Test5Helper& operator=(const Test5Helper&) = delete;
+ Test5 *q;
+};
+Q_GLOBAL_STATIC(Test5Helper, s_globalTest5)
+Test5 *Test5::self()
+{
+ if (!s_globalTest5()->q) {
+ new Test5;
+ s_globalTest5()->q->read();
+ }
+
+ return s_globalTest5()->q;
+}
+
+const char* const Test5::EnumButtonToString[] = { "right", "mid", "left" };
+
+Test5::Test5( QObject *parent )
+ : KConfigSkeleton( QStringLiteral( "test4rc" ) )
+{
+ setParent(parent);
+ Q_ASSERT(!s_globalTest5()->q);
+ s_globalTest5()->q = this;
+ setCurrentGroup( QStringLiteral( "Foo" ) );
+
+QColor defaultColor[4] = { Qt::red, Qt::blue, Qt::green, Qt::black };
+ KConfigSkeleton::ItemColor *itemColor[4];
+ itemColor[0] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "color #0" ), mColor[0], defaultColor[0] );
+ addItem( itemColor[0], QStringLiteral( "Color0" ) );
+ itemColor[1] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "color #1" ), mColor[1], defaultColor[1] );
+ addItem( itemColor[1], QStringLiteral( "Color1" ) );
+ itemColor[2] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "color #2" ), mColor[2], defaultColor[2] );
+ addItem( itemColor[2], QStringLiteral( "Color2" ) );
+ itemColor[3] = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "color #3" ), mColor[3], defaultColor[3] );
+ addItem( itemColor[3], QStringLiteral( "Color3" ) );
+ QList<KConfigSkeleton::ItemEnum::Choice> valuesMouseAction;
+ {
+ KConfigSkeleton::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("Encrypt");
+ valuesMouseAction.append( choice );
+ }
+ {
+ KConfigSkeleton::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("Decrypt");
+ valuesMouseAction.append( choice );
+ }
+ {
+ KConfigSkeleton::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("CrashNBurn");
+ valuesMouseAction.append( choice );
+ }
+ {
+ KConfigSkeleton::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("PumpNDump");
+ valuesMouseAction.append( choice );
+ }
+ KConfigSkeleton::ItemEnum *itemMouseAction[3];
+ itemMouseAction[0] = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "right_mouse_action" ), mMouseAction[0], valuesMouseAction, Decrypt );
+ itemMouseAction[0]->setValueForChoice(QStringLiteral( "CrashNBurn" ), QStringLiteral( "Crash'n Burn" ));
+ addItem( itemMouseAction[0], QStringLiteral( "MouseActionright" ) );
+ itemMouseAction[1] = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "mid_mouse_action" ), mMouseAction[1], valuesMouseAction, Encrypt );
+ itemMouseAction[1]->setValueForChoice(QStringLiteral( "CrashNBurn" ), QStringLiteral( "Crash'n Burn" ));
+ addItem( itemMouseAction[1], QStringLiteral( "MouseActionmid" ) );
+ itemMouseAction[2] = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "left_mouse_action" ), mMouseAction[2], valuesMouseAction, PumpNDump );
+ itemMouseAction[2]->setValueForChoice(QStringLiteral( "CrashNBurn" ), QStringLiteral( "Crash'n Burn" ));
+ addItem( itemMouseAction[2], QStringLiteral( "MouseActionleft" ) );
+ KConfigSkeleton::ItemString *itemFooBar;
+ itemFooBar = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "foo bar" ), mFooBar );
+ addItem( itemFooBar, QStringLiteral( "FooBar" ) );
+ KConfigSkeleton::ItemInt *itemAge;
+ itemAge = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Age" ), mAge, 35 );
+ itemAge->setMinValue(8);
+ itemAge->setMaxValue(88);
+ addItem( itemAge, QStringLiteral( "Age" ) );
+}
+
+Test5::~Test5()
+{
+ if (s_globalTest5.exists() && !s_globalTest5.isDestroyed()) {
+ s_globalTest5()->q = nullptr;
+ }
+}
+
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test5.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST5_H
+#define TEST5_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class Test5 : public KConfigSkeleton
+{
+ public:
+ enum EnumMouseAction { Encrypt, Decrypt, CrashNBurn, PumpNDump };
+ enum EnumButton { right, mid, left };
+ static const char* const EnumButtonToString[];
+
+ static Test5 *self();
+ ~Test5() override;
+
+ /**
+ Set Block colors.
+ */
+ static
+ void setColor( int i, const QColor & v )
+ {
+ if (!self()->isColorImmutable( i ))
+ self()->mColor[i] = v;
+ }
+
+ /**
+ Get Block colors.
+ */
+ static
+ QColor color( int i )
+ {
+ return self()->mColor[i];
+ }
+
+ /**
+ Is Block colors. Immutable
+ */
+ static
+ bool isColorImmutable( int i )
+ {
+ return self()->isImmutable( QStringLiteral( "Color%1" ).arg( i ) );
+ }
+
+ /**
+ Set Mouse actions.
+ */
+ static
+ void setMouseAction( int i, int v )
+ {
+ if (!self()->isMouseActionImmutable( i ))
+ self()->mMouseAction[i] = v;
+ }
+
+ /**
+ Get Mouse actions.
+ */
+ static
+ int mouseAction( int i )
+ {
+ return self()->mMouseAction[i];
+ }
+
+ /**
+ Is Mouse actions. Immutable
+ */
+ static
+ bool isMouseActionImmutable( int i )
+ {
+ return self()->isImmutable( QStringLiteral( "MouseAction%1" ).arg( QLatin1String( EnumButtonToString[i] ) ) );
+ }
+
+ /**
+ Set foo bar
+ */
+ static
+ void setFooBar( const QString & v )
+ {
+ if (!self()->isFooBarImmutable())
+ self()->mFooBar = v;
+ }
+
+ /**
+ Get foo bar
+ */
+ static
+ QString fooBar()
+ {
+ return self()->mFooBar;
+ }
+
+ /**
+ Is foo bar Immutable
+ */
+ static
+ bool isFooBarImmutable()
+ {
+ return self()->isImmutable( QStringLiteral( "FooBar" ) );
+ }
+
+ /**
+ Set Age
+ */
+ static
+ void setAge( int v )
+ {
+ if (v < 8)
+ {
+ qDebug() << "setAge: value " << v << " is less than the minimum value of 8";
+ v = 8;
+ }
+
+ if (v > 88)
+ {
+ qDebug() << "setAge: value " << v << " is greater than the maximum value of 88";
+ v = 88;
+ }
+
+ if (!self()->isAgeImmutable())
+ self()->mAge = v;
+ }
+
+ /**
+ Get Age
+ */
+ static
+ int age()
+ {
+ return self()->mAge;
+ }
+
+ /**
+ Is Age Immutable
+ */
+ static
+ bool isAgeImmutable()
+ {
+ return self()->isImmutable( QStringLiteral( "Age" ) );
+ }
+
+ protected:
+ Test5(QObject *parent = nullptr);
+ friend class Test5Helper;
+
+
+ // Foo
+ QColor mColor[4];
+ int mMouseAction[3];
+ QString mFooBar;
+ int mAge;
+
+ private:
+};
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile name="test4rc"/>
+
+ <group name="Foo">
+ <entry name="Color$(Number)" type="Color" key="color #$(Number)">
+ <parameter name="Number" type="Int" max="3"/>
+ <label>Block colors.</label>
+ <code>QColor defaultColor[4] = { Qt::red, Qt::blue, Qt::green, Qt::black };</code>
+ <default code="true">defaultColor[$(Number)]</default>
+ </entry>
+ <entry name="MouseAction$(Button)" type="Enum" key="$(Button)_mouse_action">
+ <parameter name="Button" type="Enum">
+ <values>
+ <value>right</value>
+ <value>mid</value>
+ <value>left</value>
+ </values>
+ </parameter>
+ <label>Mouse actions.</label>
+ <choices>
+ <choice name="Encrypt"/>
+ <choice name="Decrypt"/>
+ <choice name="CrashNBurn" value="Crash'n Burn"/>
+ <choice name="PumpNDump"/>
+ </choices>
+ <default param="right">Decrypt</default>
+ <default param="mid">Encrypt</default>
+ <default param="left">PumpNDump</default>
+ </entry>
+ <entry name="FooBar" key="foo bar" type="String"/>
+ <entry name="Age" type="Int">
+ <default>35</default>
+ <min>8</min>
+ <max>88</max>
+ </entry>
+ </group>
+
+</kcfg>
--- /dev/null
+# Code generation options for kconfig_compiler_kf6
+File=test5.kcfg
+ClassName=Test5
+ParentInConstructor=true
+Singleton=true
+Mutators=true
+#Inherits=MyPrefs
+#IncludeFiles=myprefs.h
+#MemberVariables=public
+GlobalEnums=true
+ItemAccessors=false
+#SetUserTexts=true
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2004 Waldo Bastian <bastian@kde.org>
+
+ SPDX-License-Identifier: MIT
+*/
+
+#include "test5.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+ QGuiApplication app(argc, argv);
+ Q_UNUSED(app);
+ Test5 *t = Test5::self();
+ delete t;
+ return 0;
+}
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test6.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test6.h"
+
+Test6::Test6( const QString & Number )
+ : KConfigSkeleton( QStringLiteral( "test4rc" ) )
+ , mParamNumber(Number)
+{
+ setCurrentGroup( QStringLiteral( "Foo" ) );
+
+ KConfigSkeleton::ItemColor *itemColor;
+ itemColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "color #%1" ).arg( mParamNumber ), mColor, QColor( "red" ) );
+ addItem( itemColor, QStringLiteral( "Color" ) );
+
+ setCurrentGroup( QStringLiteral( "Bar%1" ).arg( mParamNumber ) );
+
+ KConfigSkeleton::ItemString *itemFooBar;
+ itemFooBar = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "foo bar" ), mFooBar );
+ addItem( itemFooBar, QStringLiteral( "FooBar" ) );
+ KConfigSkeleton::ItemInt *itemAge;
+ itemAge = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Age" ), mAge, 35 );
+ itemAge->setMinValue(8);
+ itemAge->setMaxValue(88);
+ addItem( itemAge, QStringLiteral( "Age" ) );
+}
+
+Test6::~Test6()
+{
+}
+
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test6.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST6_H
+#define TEST6_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class Test6 : public KConfigSkeleton
+{
+ public:
+
+ Test6( const QString & Number );
+ ~Test6() override;
+
+ /**
+ Set Block colors.
+ */
+ void setColor( const QColor & v )
+ {
+ if (!isColorImmutable())
+ mColor = v;
+ }
+
+ /**
+ Get Block colors.
+ */
+ QColor color() const
+ {
+ return mColor;
+ }
+
+ /**
+ Is Block colors. Immutable
+ */
+ bool isColorImmutable() const
+ {
+ return isImmutable( QStringLiteral( "Color" ) );
+ }
+
+ /**
+ Set foo bar
+ */
+ void setFooBar( const QString & v )
+ {
+ if (!isFooBarImmutable())
+ mFooBar = v;
+ }
+
+ /**
+ Get foo bar
+ */
+ QString fooBar() const
+ {
+ return mFooBar;
+ }
+
+ /**
+ Is foo bar Immutable
+ */
+ bool isFooBarImmutable() const
+ {
+ return isImmutable( QStringLiteral( "FooBar" ) );
+ }
+
+ /**
+ Set Age
+ */
+ void setAge( int v )
+ {
+ if (v < 8)
+ {
+ qDebug() << "setAge: value " << v << " is less than the minimum value of 8";
+ v = 8;
+ }
+
+ if (v > 88)
+ {
+ qDebug() << "setAge: value " << v << " is greater than the maximum value of 88";
+ v = 88;
+ }
+
+ if (!isAgeImmutable())
+ mAge = v;
+ }
+
+ /**
+ Get Age
+ */
+ int age() const
+ {
+ return mAge;
+ }
+
+ /**
+ Is Age Immutable
+ */
+ bool isAgeImmutable() const
+ {
+ return isImmutable( QStringLiteral( "Age" ) );
+ }
+
+ protected:
+ QString mParamNumber;
+
+ // Foo
+ QColor mColor;
+
+ // Bar$(Number)
+ QString mFooBar;
+ int mAge;
+
+ private:
+};
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile name="test4rc">
+ <parameter name="Number" type="String"/>
+ </kcfgfile>
+
+ <group name="Foo">
+ <entry name="Color" type="Color" key="color #$(Number)">
+ <label>Block colors.</label>
+ <default>red</default>
+ </entry>
+ </group>
+ <group name="Bar$(Number)">
+ <entry name="FooBar" key="foo bar" type="String"/>
+ <entry name="Age" type="Int">
+ <default>35</default>
+ <min>8</min>
+ <max>88</max>
+ </entry>
+ </group>
+
+</kcfg>
--- /dev/null
+# Code generation options for kconfig_compiler_kf6
+File=test6.kcfg
+ClassName=Test6
+Singleton=false
+Mutators=true
+#Inherits=MyPrefs
+#IncludeFiles=myprefs.h
+#MemberVariables=public
+GlobalEnums=true
+ItemAccessors=false
+#SetUserTexts=true
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2004 Waldo Bastian <bastian@kde.org>
+
+ SPDX-License-Identifier: MIT
+*/
+
+#include "test6.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+ QGuiApplication app(argc, argv);
+ Q_UNUSED(app);
+ Test6 t = Test6(QString());
+ return 0;
+}
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test7.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test7.h"
+
+Test7::Test7( int Number )
+ : KConfigSkeleton( QStringLiteral( "test7rc" ) )
+ , mParamNumber(Number)
+{
+ setCurrentGroup( QStringLiteral( "Foo" ) );
+
+ KConfigSkeleton::ItemColor *itemColor;
+ itemColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "color #%1" ).arg( mParamNumber ), mColor, QColor( "red" ) );
+ addItem( itemColor, QStringLiteral( "Color" ) );
+
+ setCurrentGroup( QStringLiteral( "Bar%1" ).arg( mParamNumber ) );
+
+ KConfigSkeleton::ItemString *itemFooBar;
+ itemFooBar = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "foo bar" ), mFooBar );
+ addItem( itemFooBar, QStringLiteral( "FooBar" ) );
+ KConfigSkeleton::ItemInt *itemAge;
+ itemAge = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Age" ), mAge, 35 );
+ itemAge->setMinValue(8);
+ itemAge->setMaxValue(88);
+ addItem( itemAge, QStringLiteral( "Age" ) );
+}
+
+Test7::~Test7()
+{
+}
+
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test7.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST7_H
+#define TEST7_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class Test7 : public KConfigSkeleton
+{
+ public:
+
+ Test7( int Number );
+ ~Test7() override;
+
+ /**
+ Set Block colors.
+ */
+ void setColor( const QColor & v )
+ {
+ if (!isColorImmutable())
+ mColor = v;
+ }
+
+ /**
+ Get Block colors.
+ */
+ QColor color() const
+ {
+ return mColor;
+ }
+
+ /**
+ Is Block colors. Immutable
+ */
+ bool isColorImmutable() const
+ {
+ return isImmutable( QStringLiteral( "Color" ) );
+ }
+
+ /**
+ Set foo bar
+ */
+ void setFooBar( const QString & v )
+ {
+ if (!isFooBarImmutable())
+ mFooBar = v;
+ }
+
+ /**
+ Get foo bar
+ */
+ QString fooBar() const
+ {
+ return mFooBar;
+ }
+
+ /**
+ Is foo bar Immutable
+ */
+ bool isFooBarImmutable() const
+ {
+ return isImmutable( QStringLiteral( "FooBar" ) );
+ }
+
+ /**
+ Set Age
+ */
+ void setAge( int v )
+ {
+ if (v < 8)
+ {
+ qDebug() << "setAge: value " << v << " is less than the minimum value of 8";
+ v = 8;
+ }
+
+ if (v > 88)
+ {
+ qDebug() << "setAge: value " << v << " is greater than the maximum value of 88";
+ v = 88;
+ }
+
+ if (!isAgeImmutable())
+ mAge = v;
+ }
+
+ /**
+ Get Age
+ */
+ int age() const
+ {
+ return mAge;
+ }
+
+ /**
+ Is Age Immutable
+ */
+ bool isAgeImmutable() const
+ {
+ return isImmutable( QStringLiteral( "Age" ) );
+ }
+
+ protected:
+ int mParamNumber;
+
+ // Foo
+ QColor mColor;
+
+ // Bar$(Number)
+ QString mFooBar;
+ int mAge;
+
+ private:
+};
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile name="test7rc">
+ <parameter name="Number" type="Int"/>
+ </kcfgfile>
+
+ <group name="Foo">
+ <entry name="Color" type="Color" key="color #$(Number)">
+ <label>Block colors.</label>
+ <default>red</default>
+ </entry>
+ </group>
+ <group name="Bar$(Number)">
+ <entry name="FooBar" key="foo bar" type="String"/>
+ <entry name="Age" type="Int">
+ <default>35</default>
+ <min>8</min>
+ <max>88</max>
+ </entry>
+ </group>
+
+</kcfg>
--- /dev/null
+# Code generation options for kconfig_compiler_kf6
+File=test7.kcfg
+ClassName=Test7
+Singleton=false
+Mutators=true
+#Inherits=MyPrefs
+#IncludeFiles=myprefs.h
+#MemberVariables=public
+GlobalEnums=true
+ItemAccessors=false
+#SetUserTexts=true
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2004 Waldo Bastian <bastian@kde.org>
+
+ SPDX-License-Identifier: MIT
+*/
+
+#include "test7.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+ QGuiApplication app(argc, argv);
+ Q_UNUSED(app);
+ Test7 t = Test7(42);
+ return 0;
+}
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test8a.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test8a.h"
+
+Test8a::Test8a( KSharedConfig::Ptr config, QObject *parent )
+ : KConfigSkeleton( std::move( config ) )
+{
+ setParent(parent);
+ setCurrentGroup( QStringLiteral( "Group" ) );
+
+ KConfigSkeleton::ItemFont *itemFont;
+ itemFont = new KConfigSkeleton::ItemFont( currentGroup(), QStringLiteral( "Font" ), mFont, QFont() );
+ addItem( itemFont, QStringLiteral( "Font" ) );
+ KConfigSkeleton::ItemFont *itemTitleFont;
+ itemTitleFont = new KConfigSkeleton::ItemFont( currentGroup(), QStringLiteral( "TitleFont" ), mTitleFont, QFont() );
+ addItem( itemTitleFont, QStringLiteral( "TitleFont" ) );
+}
+
+Test8a::~Test8a()
+{
+}
+
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test8a.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST8A_H
+#define TEST8A_H
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class Test8a : public KConfigSkeleton
+{
+ public:
+
+ Test8a( KSharedConfig::Ptr config = KSharedConfig::openConfig(), QObject *parent = nullptr );
+ ~Test8a() override;
+
+ /**
+ Set Font
+ */
+ void setFont( const QFont & v )
+ {
+ if (!isFontImmutable())
+ mFont = v;
+ }
+
+ /**
+ Get Font
+ */
+ QFont font() const
+ {
+ return mFont;
+ }
+
+ /**
+ Is Font Immutable
+ */
+ bool isFontImmutable() const
+ {
+ return isImmutable( QStringLiteral( "Font" ) );
+ }
+
+ /**
+ Set TitleFont
+ */
+ void setTitleFont( const QFont & v )
+ {
+ if (!isTitleFontImmutable())
+ mTitleFont = v;
+ }
+
+ /**
+ Get TitleFont
+ */
+ QFont titleFont() const
+ {
+ return mTitleFont;
+ }
+
+ /**
+ Is TitleFont Immutable
+ */
+ bool isTitleFontImmutable() const
+ {
+ return isImmutable( QStringLiteral( "TitleFont" ) );
+ }
+
+ protected:
+
+ // Group
+ QFont mFont;
+ QFont mTitleFont;
+
+ private:
+};
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile arg="true"/>
+
+ <group name="Group">
+ <entry name="Font" type="Font">
+ <default code="true">QFont()</default>
+ </entry>
+
+ <entry name="TitleFont" type="Font">
+ <default code="true">QFont()</default>
+ </entry>
+ </group>
+</kcfg>
--- /dev/null
+File=test8a.kcfg
+ClassName=Test8a
+ParentInConstructor=true
+Mutators=true
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test8b.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test8b.h"
+
+#include <qglobal.h>
+#include <QFile>
+
+class Test8bHelper
+{
+ public:
+ Test8bHelper() : q(nullptr) {}
+ ~Test8bHelper() { delete q; q = nullptr; }
+ Test8bHelper(const Test8bHelper&) = delete;
+ Test8bHelper& operator=(const Test8bHelper&) = delete;
+ Test8b *q;
+};
+Q_GLOBAL_STATIC(Test8bHelper, s_globalTest8b)
+Test8b *Test8b::self()
+{
+ if (!s_globalTest8b()->q) {
+ new Test8b;
+ s_globalTest8b()->q->read();
+ }
+
+ return s_globalTest8b()->q;
+}
+
+Test8b::Test8b( )
+ : Test8a()
+{
+ Q_ASSERT(!s_globalTest8b()->q);
+ s_globalTest8b()->q = this;
+ setCurrentGroup( QStringLiteral( "Group8b1" ) );
+
+ Test8a::ItemUInt *itemSomething;
+ itemSomething = new Test8a::ItemUInt( currentGroup(), QStringLiteral( "Something" ), mSomething, 60 );
+ addItem( itemSomething, QStringLiteral( "Something" ) );
+
+ setCurrentGroup( QStringLiteral( "Group8b2" ) );
+
+ Test8a::ItemBool *itemFooBoo;
+ itemFooBoo = new Test8a::ItemBool( currentGroup(), QStringLiteral( "FooBoo" ), mFooBoo, false );
+ addItem( itemFooBoo, QStringLiteral( "FooBoo" ) );
+ Test8a::ItemUInt *itemPort;
+ itemPort = new Test8a::ItemUInt( currentGroup(), QStringLiteral( "Port" ), mPort, 1000 );
+ addItem( itemPort, QStringLiteral( "Port" ) );
+}
+
+Test8b::~Test8b()
+{
+ if (s_globalTest8b.exists() && !s_globalTest8b.isDestroyed()) {
+ s_globalTest8b()->q = nullptr;
+ }
+}
+
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test8b.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST8B_H
+#define TEST8B_H
+
+#include <test8a.h>
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class Test8b : public Test8a
+{
+ public:
+
+ static Test8b *self();
+ ~Test8b() override;
+
+ /**
+ Set Something
+ */
+ static
+ void setSomething( uint v )
+ {
+ if (!self()->isSomethingImmutable())
+ self()->mSomething = v;
+ }
+
+ /**
+ Get Something
+ */
+ static
+ uint something()
+ {
+ return self()->mSomething;
+ }
+
+ /**
+ Is Something Immutable
+ */
+ static
+ bool isSomethingImmutable()
+ {
+ return self()->isImmutable( QStringLiteral( "Something" ) );
+ }
+
+ /**
+ Set FooBoo
+ */
+ static
+ void setFooBoo( bool v )
+ {
+ if (!self()->isFooBooImmutable())
+ self()->mFooBoo = v;
+ }
+
+ /**
+ Get FooBoo
+ */
+ static
+ bool fooBoo()
+ {
+ return self()->mFooBoo;
+ }
+
+ /**
+ Is FooBoo Immutable
+ */
+ static
+ bool isFooBooImmutable()
+ {
+ return self()->isImmutable( QStringLiteral( "FooBoo" ) );
+ }
+
+ /**
+ Set Port
+ */
+ static
+ void setPort( uint v )
+ {
+ if (!self()->isPortImmutable())
+ self()->mPort = v;
+ }
+
+ /**
+ Get Port
+ */
+ static
+ uint port()
+ {
+ return self()->mPort;
+ }
+
+ /**
+ Is Port Immutable
+ */
+ static
+ bool isPortImmutable()
+ {
+ return self()->isImmutable( QStringLiteral( "Port" ) );
+ }
+
+ protected:
+ Test8b();
+ friend class Test8bHelper;
+
+
+ // Group8b1
+ uint mSomething;
+
+ // Group8b2
+ bool mFooBoo;
+ uint mPort;
+
+ private:
+};
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <group name="Group8b1">
+ <entry name="Something" type="UInt">
+ <default>60</default>
+ </entry>
+ </group>
+
+ <group name="Group8b2">
+ <entry name="FooBoo" type="Bool">
+ <default>false</default>
+ </entry>
+
+ <entry name="Port" type="UInt">
+ <default>1000</default>
+ </entry>
+ </group>
+</kcfg>
--- /dev/null
+File=test8b.kcfg
+ClassName=Test8b
+Mutators=true
+Singleton=true
+IncludeFiles=test8a.h
+Inherits=Test8a
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test8c.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test8c.h"
+
+#include <qglobal.h>
+#include <QFile>
+
+#include <QDebug>
+
+class Test8cHelper
+{
+ public:
+ Test8cHelper() : q(nullptr) {}
+ ~Test8cHelper() { delete q; q = nullptr; }
+ Test8cHelper(const Test8cHelper&) = delete;
+ Test8cHelper& operator=(const Test8cHelper&) = delete;
+ Test8c *q;
+};
+Q_GLOBAL_STATIC(Test8cHelper, s_globalTest8c)
+Test8c *Test8c::self()
+{
+ if (!s_globalTest8c()->q)
+ qFatal("you need to call Test8c::instance before using");
+ return s_globalTest8c()->q;
+}
+
+void Test8c::instance(const QString& cfgfilename)
+{
+ if (s_globalTest8c()->q) {
+ qDebug() << "Test8c::instance called after the first use - ignoring";
+ return;
+ }
+ new Test8c(KSharedConfig::openConfig(cfgfilename));
+ s_globalTest8c()->q->read();
+}
+
+void Test8c::instance(KSharedConfig::Ptr config)
+{
+ if (s_globalTest8c()->q) {
+ qDebug() << "Test8c::instance called after the first use - ignoring";
+ return;
+ }
+ new Test8c(std::move(config));
+ s_globalTest8c()->q->read();
+}
+
+Test8c::Test8c( KSharedConfig::Ptr config, QObject *parent )
+ : KConfigSkeleton( std::move( config ) )
+{
+ setParent(parent);
+ Q_ASSERT(!s_globalTest8c()->q);
+ s_globalTest8c()->q = this;
+ setCurrentGroup( QStringLiteral( "Group" ) );
+
+ KConfigSkeleton::ItemFont *itemFont;
+ itemFont = new KConfigSkeleton::ItemFont( currentGroup(), QStringLiteral( "Font" ), mFont, QFont() );
+ addItem( itemFont, QStringLiteral( "Font" ) );
+ KConfigSkeleton::ItemFont *itemTitleFont;
+ itemTitleFont = new KConfigSkeleton::ItemFont( currentGroup(), QStringLiteral( "TitleFont" ), mTitleFont, QFont() );
+ addItem( itemTitleFont, QStringLiteral( "TitleFont" ) );
+}
+
+Test8c::~Test8c()
+{
+ if (s_globalTest8c.exists() && !s_globalTest8c.isDestroyed()) {
+ s_globalTest8c()->q = nullptr;
+ }
+}
+
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test8c.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST8C_H
+#define TEST8C_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class Test8c : public KConfigSkeleton
+{
+ public:
+
+ static Test8c *self();
+ static void instance(const QString& cfgfilename);
+ static void instance(KSharedConfig::Ptr config);
+ ~Test8c() override;
+
+ /**
+ Set Font
+ */
+ static
+ void setFont( const QFont & v )
+ {
+ if (!self()->isFontImmutable())
+ self()->mFont = v;
+ }
+
+ /**
+ Get Font
+ */
+ static
+ QFont font()
+ {
+ return self()->mFont;
+ }
+
+ /**
+ Is Font Immutable
+ */
+ static
+ bool isFontImmutable()
+ {
+ return self()->isImmutable( QStringLiteral( "Font" ) );
+ }
+
+ /**
+ Set TitleFont
+ */
+ static
+ void setTitleFont( const QFont & v )
+ {
+ if (!self()->isTitleFontImmutable())
+ self()->mTitleFont = v;
+ }
+
+ /**
+ Get TitleFont
+ */
+ static
+ QFont titleFont()
+ {
+ return self()->mTitleFont;
+ }
+
+ /**
+ Is TitleFont Immutable
+ */
+ static
+ bool isTitleFontImmutable()
+ {
+ return self()->isImmutable( QStringLiteral( "TitleFont" ) );
+ }
+
+ protected:
+ Test8c(KSharedConfig::Ptr config, QObject *parent = nullptr);
+ friend class Test8cHelper;
+
+
+ // Group
+ QFont mFont;
+ QFont mTitleFont;
+
+ private:
+};
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile arg="true"/>
+
+ <group name="Group">
+ <entry name="Font" type="Font">
+ <default code="true">QFont()</default>
+ </entry>
+
+ <entry name="TitleFont" type="Font">
+ <default code="true">QFont()</default>
+ </entry>
+ </group>
+</kcfg>
--- /dev/null
+File=test8c.kcfg
+ClassName=Test8c
+ParentInConstructor=true
+Mutators=true
+Singleton=true
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2005 Michael Brade <brade@kde.org>
+
+ SPDX-License-Identifier: MIT
+*/
+
+#include "test8a.h"
+#include "test8b.h"
+#include "test8c.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+ QGuiApplication app(argc, argv);
+ Q_UNUSED(app);
+ Test8a *config1 = new Test8a(KSharedConfig::openConfig(QString()));
+ Test8a *config2 = new Test8a();
+ Test8b::self();
+ Test8c::instance(KSharedConfig::openConfig(QString()));
+ Test8c::self();
+ delete config1;
+ delete config2;
+ return 0;
+}
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test9.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test9.h"
+
+Test9::Test9( const QString & transport, const QString & folder )
+ : KConfigSkeleton( QStringLiteral( "examplerc" ) )
+ , mParamtransport(transport)
+ , mParamfolder(folder)
+{
+ setCurrentGroup( QStringLiteral( "MyOptionsXX" ) );
+
+ QStringList defaultMyStringList;
+ defaultMyStringList.append( QString::fromUtf8( "up" ) );
+ defaultMyStringList.append( QString::fromUtf8( "down" ) );
+
+ KConfigSkeleton::ItemStringList *itemMyStringList;
+ itemMyStringList = new KConfigSkeleton::ItemStringList( currentGroup(), QStringLiteral( "MyStringList" ), mMyStringList, defaultMyStringList );
+ addItem( itemMyStringList, QStringLiteral( "MyStringList" ) );
+ QStringList defaultMyPathList;
+ defaultMyPathList.append( QString::fromUtf8( "/home" ) );
+ defaultMyPathList.append( QString::fromUtf8( "~" ) );
+
+ KConfigSkeleton::ItemPathList *itemMyPathList;
+ itemMyPathList = new KConfigSkeleton::ItemPathList( currentGroup(), QStringLiteral( "MyPathList" ), mMyPathList, defaultMyPathList );
+ addItem( itemMyPathList, QStringLiteral( "MyPathList" ) );
+ KConfigSkeleton::ItemPathList *itemMyPathsList2;
+ itemMyPathsList2 = new KConfigSkeleton::ItemPathList( currentGroup(), QStringLiteral( "MyPathsList2" ), mMyPathsList2, QStringList(QString::fromLatin1("/usr/bin")) << QDir::homePath() );
+ addItem( itemMyPathsList2, QStringLiteral( "MyPathsList2" ) );
+}
+
+Test9::~Test9()
+{
+}
+
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test9.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TEST9_H
+#define TEST9_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+#include <qdir.h>
+
+class Test9 : public KConfigSkeleton
+{
+ public:
+
+ Test9( const QString & transport, const QString & folder );
+ ~Test9() override;
+
+ /**
+ Set MyStringList
+ */
+ void setMyStringList( const QStringList & v )
+ {
+ if (!isMyStringListImmutable())
+ mMyStringList = v;
+ }
+
+ /**
+ Get MyStringList
+ */
+ QStringList myStringList() const
+ {
+ return mMyStringList;
+ }
+
+ /**
+ Is MyStringList Immutable
+ */
+ bool isMyStringListImmutable() const
+ {
+ return isImmutable( QStringLiteral( "MyStringList" ) );
+ }
+
+ /**
+ Set This is a list of paths
+ */
+ void setMyPathList( const QStringList & v )
+ {
+ if (!isMyPathListImmutable())
+ mMyPathList = v;
+ }
+
+ /**
+ Get This is a list of paths
+ */
+ QStringList myPathList() const
+ {
+ return mMyPathList;
+ }
+
+ /**
+ Is This is a list of paths Immutable
+ */
+ bool isMyPathListImmutable() const
+ {
+ return isImmutable( QStringLiteral( "MyPathList" ) );
+ }
+
+ /**
+ Set This is an additional test for PathList
+ */
+ void setMyPathsList2( const QStringList & v )
+ {
+ if (!isMyPathsList2Immutable())
+ mMyPathsList2 = v;
+ }
+
+ /**
+ Get This is an additional test for PathList
+ */
+ QStringList myPathsList2() const
+ {
+ return mMyPathsList2;
+ }
+
+ /**
+ Is This is an additional test for PathList Immutable
+ */
+ bool isMyPathsList2Immutable() const
+ {
+ return isImmutable( QStringLiteral( "MyPathsList2" ) );
+ }
+
+ protected:
+ public:
+ QString mParamtransport;
+ QString mParamfolder;
+
+ // MyOptionsXX
+ QStringList mMyStringList;
+ QStringList mMyPathList;
+ QStringList mMyPathsList2;
+
+ private:
+};
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <include>qdir.h</include>
+ <kcfgfile name="examplerc">
+ <parameter name="transport" />
+ <parameter name="folder" />
+ </kcfgfile>
+ <group name="MyOptionsXX">
+ <entry name="MyStringList" type="StringList">
+ <default>up,down</default>
+ </entry>
+ <entry name="MyPathList" type="PathList">
+ <label>This is a list of paths</label>
+ <default>/home,~</default>
+ </entry>
+ <entry name="MyPathsList2" type="PathList">
+ <label>This is an additional test for PathList</label>
+ <default code="true">QStringList(QString::fromLatin1("/usr/bin")) << QDir::homePath()</default>
+ </entry>
+ </group>
+</kcfg>
--- /dev/null
+# Code generation options for kconfig_compiler_kf6
+ClassName=Test9
+File=test9.kcfg
+#
+# Singleton=false
+#
+# Inherits=KConfigSkeleton
+#
+# IncludeFiles=libkdepim/kpimprefs.h
+#
+MemberVariables=public
+#
+### The following line includes the file exampleprefs_base_addon.h
+### It can be used to add extra functions and variables to the
+### class.
+# CustomAdditions=true
+#
+### Provide setFooBar(int) style functions
+Mutators=true
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2005 Helge Deller <deller@kde.org>
+
+ SPDX-License-Identifier: MIT
+*/
+
+#include "test9.h"
+#include <QDebug>
+#include <QDir>
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+ QGuiApplication app(argc, argv);
+ Q_UNUSED(app);
+ Test9 *t = new Test9(QString(), QString());
+
+ QStringList myPathsList2 = t->myPathsList2();
+ qWarning() << myPathsList2;
+
+ // add another path
+ QStringList newlist;
+ myPathsList2 << QDir::homePath() + QLatin1String("/.kde");
+ qWarning() << myPathsList2;
+
+ t->setMyPathsList2(myPathsList2);
+ qWarning() << t->myPathsList2();
+
+ delete t;
+ return 0;
+}
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test_dpointer.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test_dpointer.h"
+
+#include <qglobal.h>
+#include <QFile>
+
+class TestDPointerPrivate
+{
+ public:
+
+ // General
+ bool autoSave;
+ int autoSaveInterval;
+ bool confirm;
+ QString archiveFile;
+ int destination;
+
+ // Views
+ int hourSize;
+ bool selectionStartsEditor;
+
+ // KOrganizer Plugins
+ QStringList selectedPlugins;
+
+ // Colors
+ QColor highlightColor;
+ QColor agendaBgColor;
+
+ // Fonts
+ QFont timeBarFont;
+
+ // items
+ KConfigSkeleton::ItemBool *autoSaveItem;
+ KConfigSkeleton::ItemInt *autoSaveIntervalItem;
+ KConfigSkeleton::ItemBool *confirmItem;
+ KConfigSkeleton::ItemString *archiveFileItem;
+ KConfigSkeleton::ItemEnum *destinationItem;
+ KConfigSkeleton::ItemInt *hourSizeItem;
+ KConfigSkeleton::ItemBool *selectionStartsEditorItem;
+ KConfigSkeleton::ItemStringList *selectedPluginsItem;
+ KConfigSkeleton::ItemColor *highlightColorItem;
+ KConfigSkeleton::ItemColor *agendaBgColorItem;
+ KConfigSkeleton::ItemFont *timeBarFontItem;
+};
+
+class TestDPointerHelper
+{
+ public:
+ TestDPointerHelper() : q(nullptr) {}
+ ~TestDPointerHelper() { delete q; q = nullptr; }
+ TestDPointerHelper(const TestDPointerHelper&) = delete;
+ TestDPointerHelper& operator=(const TestDPointerHelper&) = delete;
+ TestDPointer *q;
+};
+Q_GLOBAL_STATIC(TestDPointerHelper, s_globalTestDPointer)
+TestDPointer *TestDPointer::self()
+{
+ if (!s_globalTestDPointer()->q) {
+ new TestDPointer;
+ s_globalTestDPointer()->q->read();
+ }
+
+ return s_globalTestDPointer()->q;
+}
+
+TestDPointer::TestDPointer( )
+ : KConfigSkeleton( QStringLiteral( "korganizerrc" ) )
+{
+ d = new TestDPointerPrivate;
+ Q_ASSERT(!s_globalTestDPointer()->q);
+ s_globalTestDPointer()->q = this;
+ setCurrentGroup( QStringLiteral( "General" ) );
+
+ d->autoSaveItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Auto Save" ), d->autoSave, false );
+ d->autoSaveItem->setLabel( QCoreApplication::translate("TestDPointer", "Enable automatic saving of calendar") );
+ d->autoSaveItem->setWhatsThis( QCoreApplication::translate("TestDPointer", "WhatsThis text for AutoSave option") );
+ addItem( d->autoSaveItem, QStringLiteral( "AutoSave" ) );
+ d->autoSaveIntervalItem = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Auto Save Interval" ), d->autoSaveInterval, 10 );
+ d->autoSaveIntervalItem->setMinValue(0);
+ d->autoSaveIntervalItem->setMaxValue(123);
+ d->autoSaveIntervalItem->setLabel( QCoreApplication::translate("TestDPointer", "Auto Save Interval") );
+ addItem( d->autoSaveIntervalItem, QStringLiteral( "AutoSaveInterval" ) );
+ d->confirmItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Confirm Deletes" ), d->confirm, true );
+ d->confirmItem->setLabel( QCoreApplication::translate("TestDPointer", "Confirm deletes") );
+ addItem( d->confirmItem, QStringLiteral( "Confirm" ) );
+ d->archiveFileItem = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "Archive File" ), d->archiveFile );
+ d->archiveFileItem->setLabel( QCoreApplication::translate("TestDPointer", "Archive File") );
+ addItem( d->archiveFileItem, QStringLiteral( "ArchiveFile" ) );
+ QList<KConfigSkeleton::ItemEnum::Choice> valuesDestination;
+ {
+ KConfigSkeleton::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("standardDestination");
+ valuesDestination.append( choice );
+ }
+ {
+ KConfigSkeleton::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("askDestination");
+ valuesDestination.append( choice );
+ }
+ {
+ KConfigSkeleton::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("argl1");
+ choice.label = QCoreApplication::translate("TestDPointer", "Argl1 Label");
+ valuesDestination.append( choice );
+ }
+ {
+ KConfigSkeleton::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("argl2");
+ choice.whatsThis = QCoreApplication::translate("TestDPointer", "Argl2 Whatsthis");
+ valuesDestination.append( choice );
+ }
+ {
+ KConfigSkeleton::ItemEnum::Choice choice;
+ choice.name = QStringLiteral("argl3");
+ choice.label = QCoreApplication::translate("TestDPointer", "Argl3 Label");
+ choice.whatsThis = QCoreApplication::translate("TestDPointer", "Argl3 Whatsthis");
+ valuesDestination.append( choice );
+ }
+ d->destinationItem = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "Destination" ), d->destination, valuesDestination, EnumDestination::standardDestination );
+ d->destinationItem->setLabel( QCoreApplication::translate("TestDPointer", "New Events/Todos Should") );
+ addItem( d->destinationItem, QStringLiteral( "Destination" ) );
+
+ setCurrentGroup( QStringLiteral( "Views" ) );
+
+ d->hourSizeItem = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Hour Size" ), d->hourSize, 10 );
+ d->hourSizeItem->setLabel( QCoreApplication::translate("TestDPointer", "Hour Size") );
+ addItem( d->hourSizeItem, QStringLiteral( "HourSize" ) );
+ d->selectionStartsEditorItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "SelectionStartsEditor" ), d->selectionStartsEditor, false );
+ d->selectionStartsEditorItem->setLabel( QCoreApplication::translate("TestDPointer", "Time range selection in agenda view starts event editor") );
+ addItem( d->selectionStartsEditorItem, QStringLiteral( "SelectionStartsEditor" ) );
+
+ setCurrentGroup( QStringLiteral( "KOrganizer Plugins" ) );
+
+ QStringList defaultSelectedPlugins;
+ defaultSelectedPlugins.append( QString::fromUtf8( "holidays" ) );
+ defaultSelectedPlugins.append( QString::fromUtf8( "webexport" ) );
+
+ d->selectedPluginsItem = new KConfigSkeleton::ItemStringList( currentGroup(), QStringLiteral( "SelectedPlugins" ), d->selectedPlugins, defaultSelectedPlugins );
+ d->selectedPluginsItem->setLabel( QCoreApplication::translate("TestDPointer", "SelectedPlugins") );
+ addItem( d->selectedPluginsItem, QStringLiteral( "SelectedPlugins" ) );
+
+ setCurrentGroup( QStringLiteral( "Colors" ) );
+
+ d->highlightColorItem = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "Highlight Color" ), d->highlightColor, QColor( 100, 100, 255 ) );
+ d->highlightColorItem->setLabel( QCoreApplication::translate("TestDPointer", "Highlight color") );
+ addItem( d->highlightColorItem, QStringLiteral( "HighlightColor" ) );
+ d->agendaBgColorItem = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "Agenda Background Color" ), d->agendaBgColor, QColor( 255, 255, 255 ) );
+ d->agendaBgColorItem->setLabel( QCoreApplication::translate("TestDPointer", "Agenda view background color") );
+ addItem( d->agendaBgColorItem, QStringLiteral( "AgendaBgColor" ) );
+
+ setCurrentGroup( QStringLiteral( "Fonts" ) );
+
+ d->timeBarFontItem = new KConfigSkeleton::ItemFont( currentGroup(), QStringLiteral( "TimeBar Font" ), d->timeBarFont );
+ d->timeBarFontItem->setLabel( QCoreApplication::translate("TestDPointer", "Time bar") );
+ addItem( d->timeBarFontItem, QStringLiteral( "TimeBarFont" ) );
+}
+
+void TestDPointer::setAutoSave( bool v )
+{
+ if (!self()->TestDPointer::isAutoSaveImmutable())
+ self()->d->autoSave = v;
+}
+
+bool TestDPointer::autoSave()
+{
+ return self()->d->autoSave;
+}
+
+bool TestDPointer::isAutoSaveImmutable()
+{
+ return self()->isImmutable( QStringLiteral( "AutoSave" ) );
+}
+
+
+KConfigSkeleton::ItemBool *TestDPointer::autoSaveItem()
+{
+ return d->autoSaveItem;
+}
+
+void TestDPointer::setAutoSaveInterval( int v )
+{
+ if (v < 0)
+ {
+ qDebug() << "setAutoSaveInterval: value " << v << " is less than the minimum value of 0";
+ v = 0;
+ }
+
+ if (v > 123)
+ {
+ qDebug() << "setAutoSaveInterval: value " << v << " is greater than the maximum value of 123";
+ v = 123;
+ }
+
+ if (!self()->TestDPointer::isAutoSaveIntervalImmutable())
+ self()->d->autoSaveInterval = v;
+}
+
+int TestDPointer::autoSaveInterval()
+{
+ return self()->d->autoSaveInterval;
+}
+
+bool TestDPointer::isAutoSaveIntervalImmutable()
+{
+ return self()->isImmutable( QStringLiteral( "AutoSaveInterval" ) );
+}
+
+
+KConfigSkeleton::ItemInt *TestDPointer::autoSaveIntervalItem()
+{
+ return d->autoSaveIntervalItem;
+}
+
+void TestDPointer::setConfirm( bool v )
+{
+ if (!self()->TestDPointer::isConfirmImmutable())
+ self()->d->confirm = v;
+}
+
+bool TestDPointer::confirm()
+{
+ return self()->d->confirm;
+}
+
+bool TestDPointer::isConfirmImmutable()
+{
+ return self()->isImmutable( QStringLiteral( "Confirm" ) );
+}
+
+
+KConfigSkeleton::ItemBool *TestDPointer::confirmItem()
+{
+ return d->confirmItem;
+}
+
+void TestDPointer::setArchiveFile( const QString & v )
+{
+ if (!self()->TestDPointer::isArchiveFileImmutable())
+ self()->d->archiveFile = v;
+}
+
+QString TestDPointer::archiveFile()
+{
+ return self()->d->archiveFile;
+}
+
+bool TestDPointer::isArchiveFileImmutable()
+{
+ return self()->isImmutable( QStringLiteral( "ArchiveFile" ) );
+}
+
+
+KConfigSkeleton::ItemString *TestDPointer::archiveFileItem()
+{
+ return d->archiveFileItem;
+}
+
+void TestDPointer::setDestination( int v )
+{
+ if (!self()->TestDPointer::isDestinationImmutable())
+ self()->d->destination = v;
+}
+
+int TestDPointer::destination()
+{
+ return self()->d->destination;
+}
+
+bool TestDPointer::isDestinationImmutable()
+{
+ return self()->isImmutable( QStringLiteral( "Destination" ) );
+}
+
+
+KConfigSkeleton::ItemEnum *TestDPointer::destinationItem()
+{
+ return d->destinationItem;
+}
+
+void TestDPointer::setHourSize( int v )
+{
+ if (!self()->TestDPointer::isHourSizeImmutable())
+ self()->d->hourSize = v;
+}
+
+int TestDPointer::hourSize()
+{
+ return self()->d->hourSize;
+}
+
+bool TestDPointer::isHourSizeImmutable()
+{
+ return self()->isImmutable( QStringLiteral( "HourSize" ) );
+}
+
+
+KConfigSkeleton::ItemInt *TestDPointer::hourSizeItem()
+{
+ return d->hourSizeItem;
+}
+
+void TestDPointer::setSelectionStartsEditor( bool v )
+{
+ if (!self()->TestDPointer::isSelectionStartsEditorImmutable())
+ self()->d->selectionStartsEditor = v;
+}
+
+bool TestDPointer::selectionStartsEditor()
+{
+ return self()->d->selectionStartsEditor;
+}
+
+bool TestDPointer::isSelectionStartsEditorImmutable()
+{
+ return self()->isImmutable( QStringLiteral( "SelectionStartsEditor" ) );
+}
+
+
+KConfigSkeleton::ItemBool *TestDPointer::selectionStartsEditorItem()
+{
+ return d->selectionStartsEditorItem;
+}
+
+void TestDPointer::setSelectedPlugins( const QStringList & v )
+{
+ if (!self()->TestDPointer::isSelectedPluginsImmutable())
+ self()->d->selectedPlugins = v;
+}
+
+QStringList TestDPointer::selectedPlugins()
+{
+ return self()->d->selectedPlugins;
+}
+
+bool TestDPointer::isSelectedPluginsImmutable()
+{
+ return self()->isImmutable( QStringLiteral( "SelectedPlugins" ) );
+}
+
+
+KConfigSkeleton::ItemStringList *TestDPointer::selectedPluginsItem()
+{
+ return d->selectedPluginsItem;
+}
+
+void TestDPointer::setHighlightColor( const QColor & v )
+{
+ if (!self()->TestDPointer::isHighlightColorImmutable())
+ self()->d->highlightColor = v;
+}
+
+QColor TestDPointer::highlightColor()
+{
+ return self()->d->highlightColor;
+}
+
+bool TestDPointer::isHighlightColorImmutable()
+{
+ return self()->isImmutable( QStringLiteral( "HighlightColor" ) );
+}
+
+
+KConfigSkeleton::ItemColor *TestDPointer::highlightColorItem()
+{
+ return d->highlightColorItem;
+}
+
+void TestDPointer::setAgendaBgColor( const QColor & v )
+{
+ if (!self()->TestDPointer::isAgendaBgColorImmutable())
+ self()->d->agendaBgColor = v;
+}
+
+QColor TestDPointer::agendaBgColor()
+{
+ return self()->d->agendaBgColor;
+}
+
+bool TestDPointer::isAgendaBgColorImmutable()
+{
+ return self()->isImmutable( QStringLiteral( "AgendaBgColor" ) );
+}
+
+
+KConfigSkeleton::ItemColor *TestDPointer::agendaBgColorItem()
+{
+ return d->agendaBgColorItem;
+}
+
+void TestDPointer::setTimeBarFont( const QFont & v )
+{
+ if (!self()->TestDPointer::isTimeBarFontImmutable())
+ self()->d->timeBarFont = v;
+}
+
+QFont TestDPointer::timeBarFont()
+{
+ return self()->d->timeBarFont;
+}
+
+bool TestDPointer::isTimeBarFontImmutable()
+{
+ return self()->isImmutable( QStringLiteral( "TimeBarFont" ) );
+}
+
+
+KConfigSkeleton::ItemFont *TestDPointer::timeBarFontItem()
+{
+ return d->timeBarFontItem;
+}
+
+TestDPointer::~TestDPointer()
+{
+ delete d;
+ if (s_globalTestDPointer.exists() && !s_globalTestDPointer.isDestroyed()) {
+ s_globalTestDPointer()->q = nullptr;
+ }
+}
+
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test_dpointer.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TESTDPOINTER_H
+#define TESTDPOINTER_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class TestDPointerPrivate;
+
+class TestDPointer : public KConfigSkeleton
+{
+ public:
+ class EnumDestination
+ {
+ public:
+ enum type { standardDestination, askDestination, argl1, argl2, argl3, COUNT };
+ };
+
+ static TestDPointer *self();
+ ~TestDPointer() override;
+
+ /**
+ Set Enable automatic saving of calendar
+ */
+ static
+ void setAutoSave( bool v );
+
+ /**
+ Get Enable automatic saving of calendar
+ */
+ static
+ bool autoSave();
+
+ /**
+ Is Enable automatic saving of calendar Immutable
+ */
+ static
+ bool isAutoSaveImmutable();
+
+ /**
+ Get Item object corresponding to AutoSave()
+ */
+ ItemBool *autoSaveItem();
+
+ /**
+ Set Auto Save Interval
+ */
+ static
+ void setAutoSaveInterval( int v );
+
+ /**
+ Get Auto Save Interval
+ */
+ static
+ int autoSaveInterval();
+
+ /**
+ Is Auto Save Interval Immutable
+ */
+ static
+ bool isAutoSaveIntervalImmutable();
+
+ /**
+ Get Item object corresponding to AutoSaveInterval()
+ */
+ ItemInt *autoSaveIntervalItem();
+
+ /**
+ Set Confirm deletes
+ */
+ static
+ void setConfirm( bool v );
+
+ /**
+ Get Confirm deletes
+ */
+ static
+ bool confirm();
+
+ /**
+ Is Confirm deletes Immutable
+ */
+ static
+ bool isConfirmImmutable();
+
+ /**
+ Get Item object corresponding to Confirm()
+ */
+ ItemBool *confirmItem();
+
+ /**
+ Set Archive File
+ */
+ static
+ void setArchiveFile( const QString & v );
+
+ /**
+ Get Archive File
+ */
+ static
+ QString archiveFile();
+
+ /**
+ Is Archive File Immutable
+ */
+ static
+ bool isArchiveFileImmutable();
+
+ /**
+ Get Item object corresponding to ArchiveFile()
+ */
+ ItemString *archiveFileItem();
+
+ /**
+ Set New Events/Todos Should
+ */
+ static
+ void setDestination( int v );
+
+ /**
+ Get New Events/Todos Should
+ */
+ static
+ int destination();
+
+ /**
+ Is New Events/Todos Should Immutable
+ */
+ static
+ bool isDestinationImmutable();
+
+ /**
+ Get Item object corresponding to Destination()
+ */
+ ItemEnum *destinationItem();
+
+ /**
+ Set Hour Size
+ */
+ static
+ void setHourSize( int v );
+
+ /**
+ Get Hour Size
+ */
+ static
+ int hourSize();
+
+ /**
+ Is Hour Size Immutable
+ */
+ static
+ bool isHourSizeImmutable();
+
+ /**
+ Get Item object corresponding to HourSize()
+ */
+ ItemInt *hourSizeItem();
+
+ /**
+ Set Time range selection in agenda view starts event editor
+ */
+ static
+ void setSelectionStartsEditor( bool v );
+
+ /**
+ Get Time range selection in agenda view starts event editor
+ */
+ static
+ bool selectionStartsEditor();
+
+ /**
+ Is Time range selection in agenda view starts event editor Immutable
+ */
+ static
+ bool isSelectionStartsEditorImmutable();
+
+ /**
+ Get Item object corresponding to SelectionStartsEditor()
+ */
+ ItemBool *selectionStartsEditorItem();
+
+ /**
+ Set SelectedPlugins
+ */
+ static
+ void setSelectedPlugins( const QStringList & v );
+
+ /**
+ Get SelectedPlugins
+ */
+ static
+ QStringList selectedPlugins();
+
+ /**
+ Is SelectedPlugins Immutable
+ */
+ static
+ bool isSelectedPluginsImmutable();
+
+ /**
+ Get Item object corresponding to SelectedPlugins()
+ */
+ ItemStringList *selectedPluginsItem();
+
+ /**
+ Set Highlight color
+ */
+ static
+ void setHighlightColor( const QColor & v );
+
+ /**
+ Get Highlight color
+ */
+ static
+ QColor highlightColor();
+
+ /**
+ Is Highlight color Immutable
+ */
+ static
+ bool isHighlightColorImmutable();
+
+ /**
+ Get Item object corresponding to HighlightColor()
+ */
+ ItemColor *highlightColorItem();
+
+ /**
+ Set Agenda view background color
+ */
+ static
+ void setAgendaBgColor( const QColor & v );
+
+ /**
+ Get Agenda view background color
+ */
+ static
+ QColor agendaBgColor();
+
+ /**
+ Is Agenda view background color Immutable
+ */
+ static
+ bool isAgendaBgColorImmutable();
+
+ /**
+ Get Item object corresponding to AgendaBgColor()
+ */
+ ItemColor *agendaBgColorItem();
+
+ /**
+ Set Time bar
+ */
+ static
+ void setTimeBarFont( const QFont & v );
+
+ /**
+ Get Time bar
+ */
+ static
+ QFont timeBarFont();
+
+ /**
+ Is Time bar Immutable
+ */
+ static
+ bool isTimeBarFontImmutable();
+
+ /**
+ Get Item object corresponding to TimeBarFont()
+ */
+ ItemFont *timeBarFontItem();
+
+ protected:
+ TestDPointer();
+ friend class TestDPointerHelper;
+
+ private:
+ TestDPointerPrivate *d;
+};
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile name="korganizerrc"/>
+
+ <group name="General">
+ <entry type="Bool" key="Auto Save">
+ <label>Enable automatic saving of calendar</label>
+ <whatsthis>WhatsThis text for AutoSave option</whatsthis>
+ <default>false</default>
+ </entry>
+ <entry type="Int" key="Auto Save Interval">
+ <default>10</default>
+ <min>0</min>
+ <max>123</max>
+ </entry>
+ <entry type="Bool" key="Confirm Deletes" name="Confirm">
+ <label>Confirm deletes</label>
+ <default>true</default>
+ </entry>
+ <entry type="String" key="Archive File">
+ </entry>
+ <entry type="Enum" key="Destination" name="Destination">
+ <label>New Events/Todos Should</label>
+ <choices>
+ <choice name="standardDestination">
+ </choice>
+ <choice name="askDestination">
+ </choice>
+ <choice name="argl1">
+ <label>Argl1 Label</label>
+ </choice>
+ <choice name="argl2">
+ <whatsthis>Argl2 Whatsthis</whatsthis>
+ </choice>
+ <choice name="argl3">
+ <label>Argl3 Label</label>
+ <whatsthis>Argl3 Whatsthis</whatsthis>
+ </choice>
+ </choices>
+ <default>standardDestination</default>
+ </entry>
+ </group>
+
+ <group name="Views">
+ <entry type="Int" key="Hour Size">
+ <default>10</default>
+ </entry>
+ <entry type="Bool" name="SelectionStartsEditor">
+ <label>Time range selection in agenda view starts event editor</label>
+ <default>false</default>
+ </entry>
+ </group>
+
+ <group name="KOrganizer Plugins">
+ <entry type="StringList" name="SelectedPlugins">
+ <default>holidays,webexport</default>
+ </entry>
+ </group>
+
+ <group name="Colors">
+ <entry type="Color" key="Highlight Color">
+ <label>Highlight color</label>
+ <default>100, 100, 255</default>
+ </entry>
+ <entry type="Color" key="Agenda Background Color" name="AgendaBgColor">
+ <label>Agenda view background color</label>
+ <default>255, 255, 255</default>
+ </entry>
+ </group>
+
+ <group name="Fonts">
+ <entry type="Font" key="TimeBar Font">
+ <label>Time bar</label>
+ </entry>
+ </group>
+
+</kcfg>
--- /dev/null
+# Code generation options for kconfig_compiler_kf6
+File=test_dpointer.kcfg
+ClassName=TestDPointer
+Singleton=true
+Mutators=true
+#Inherits=MyPrefs
+#IncludeFiles=myprefs.h
+MemberVariables=dpointer
+#GlobalEnums=true
+ItemAccessors=true
+SetUserTexts=true
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2005 Duncan Mac-Vicar P. <duncan@kde.org>
+
+ SPDX-License-Identifier: MIT
+*/
+
+#include "test_dpointer.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+ QGuiApplication app(argc, argv);
+ Q_UNUSED(app);
+ TestDPointer *t = TestDPointer::self();
+ delete t;
+ return 0;
+}
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test_emptyentries.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test_emptyentries.h"
+
+#include <qglobal.h>
+#include <QFile>
+
+#include <QDebug>
+
+class QMakeBuilderSettingsHelper
+{
+ public:
+ QMakeBuilderSettingsHelper() : q(nullptr) {}
+ ~QMakeBuilderSettingsHelper() { delete q; q = nullptr; }
+ QMakeBuilderSettingsHelper(const QMakeBuilderSettingsHelper&) = delete;
+ QMakeBuilderSettingsHelper& operator=(const QMakeBuilderSettingsHelper&) = delete;
+ QMakeBuilderSettings *q;
+};
+Q_GLOBAL_STATIC(QMakeBuilderSettingsHelper, s_globalQMakeBuilderSettings)
+QMakeBuilderSettings *QMakeBuilderSettings::self()
+{
+ if (!s_globalQMakeBuilderSettings()->q)
+ qFatal("you need to call QMakeBuilderSettings::instance before using");
+ return s_globalQMakeBuilderSettings()->q;
+}
+
+void QMakeBuilderSettings::instance(const QString& cfgfilename)
+{
+ if (s_globalQMakeBuilderSettings()->q) {
+ qDebug() << "QMakeBuilderSettings::instance called after the first use - ignoring";
+ return;
+ }
+ new QMakeBuilderSettings(KSharedConfig::openConfig(cfgfilename));
+ s_globalQMakeBuilderSettings()->q->read();
+}
+
+void QMakeBuilderSettings::instance(KSharedConfig::Ptr config)
+{
+ if (s_globalQMakeBuilderSettings()->q) {
+ qDebug() << "QMakeBuilderSettings::instance called after the first use - ignoring";
+ return;
+ }
+ new QMakeBuilderSettings(std::move(config));
+ s_globalQMakeBuilderSettings()->q->read();
+}
+
+QMakeBuilderSettings::QMakeBuilderSettings( KSharedConfig::Ptr config )
+ : KConfigSkeleton( std::move( config ) )
+{
+ Q_ASSERT(!s_globalQMakeBuilderSettings()->q);
+ s_globalQMakeBuilderSettings()->q = this;
+}
+
+QMakeBuilderSettings::~QMakeBuilderSettings()
+{
+ if (s_globalQMakeBuilderSettings.exists() && !s_globalQMakeBuilderSettings.isDestroyed()) {
+ s_globalQMakeBuilderSettings()->q = nullptr;
+ }
+}
+
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test_emptyentries.kcfg.
+// All changes you do to this file will be lost.
+#ifndef QMAKEBUILDERSETTINGS_H
+#define QMAKEBUILDERSETTINGS_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+#include <QString>
+
+class QMakeBuilderSettings : public KConfigSkeleton
+{
+ public:
+ static QMakeBuilderSettings *self();
+ static void instance(const QString& cfgfilename);
+ static void instance(KSharedConfig::Ptr config);
+ ~QMakeBuilderSettings() override;
+
+ protected:
+ QMakeBuilderSettings(KSharedConfig::Ptr config);
+ friend class QMakeBuilderSettingsHelper;
+
+
+ private:
+};
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
+ <kcfgfile arg="true"/>
+ <include>QString</include>
+ <!-- save/restore is handled manually -->
+</kcfg>
--- /dev/null
+File=test_emptyentries.kcfg
+ClassName=QMakeBuilderSettings
+Singleton=true
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2007 Andreas Pakulat <apaku@gmx.de>
+
+ SPDX-License-Identifier: MIT
+*/
+
+#include "test_emptyentries.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+ QGuiApplication app(argc, argv);
+ Q_UNUSED(app);
+ QMakeBuilderSettings::instance(QStringLiteral("abc"));
+ auto *t = QMakeBuilderSettings::self();
+ delete t;
+ return 0;
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Author: Michaël Larouche-->
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile name="test_enums_and_properties.kcfgc"/>
+
+ <group name="test_group">
+ <entry name="PowerButtonAction" type="Enum">
+ <choices>
+ <choice name="NoneMode" value="0"/>
+ <choice name="ToRamMode" value="1"/>
+ <choice name="ToDiskMode" value="2"/>
+ <choice name="SuspendHybridMode" value="4"/>
+ <choice name="ShutdownMode" value="8"/>
+ <choice name="LogoutDialogMode" value="16"/>
+ <choice name="LockScreenMode" value="32" />
+ <choice name="TurnOffScreenMode" value="64" />
+ <choice name="ToggleScreenOnOffMode" value="128" />
+ </choices>
+ <default>0</default>
+ </entry>
+ </group>
+</kcfg>
--- /dev/null
+File=test_enums_and_properties.kcfg
+ClassName=TestEnumsAndProperties
+GenerateProperties=true
+Mutators=true
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile name="test_fileextensions_rc"/>
+
+ <group name="General">
+ <entry type="Bool" key="Auto Save">
+ <label>Enable automatic saving of calendar</label>
+ <whatsthis context="@info:whatsthis">Enable automatic saving of calendars to have calendars saved automatically.</whatsthis>
+ <default>false</default>
+ </entry>
+ </group>
+
+</kcfg>
--- /dev/null
+# Code generation options for kconfig_compiler_kf6
+File=test_fileextensions.kcfg
+Singleton=true
+ClassName=TestFileExtensions
+SetUserTexts=true
+HeaderExtension=hxx
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2019 Friedrich W. H. Kossebau <kossebau@kde.org>
+
+ SPDX-License-Identifier: MIT
+*/
+
+#include "test_fileextensions.hxx"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+ QGuiApplication app(argc, argv);
+ Q_UNUSED(app);
+ TestFileExtensions *t = TestFileExtensions::self();
+ delete t;
+ return 0;
+}
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test_notifiers.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test_notifiers.h"
+
+TestNotifiers::TestNotifiers( int Number )
+ : KConfigSkeleton( QStringLiteral( "test7rc" ) )
+ , mParamNumber(Number)
+{
+ setCurrentGroup( QStringLiteral( "Foo" ) );
+
+ KConfigSkeleton::ItemColor *itemColor;
+ itemColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "color #%1" ).arg( mParamNumber ), mColor, QColor( "red" ) );
+ itemColor->setWriteFlags(KConfigBase::Notify);
+ addItem( itemColor, QStringLiteral( "Color" ) );
+
+ setCurrentGroup( QStringLiteral( "Bar%1" ).arg( mParamNumber ) );
+
+ KConfigSkeleton::ItemString *itemFooBar;
+ itemFooBar = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "foo bar" ), mFooBar );
+ itemFooBar->setWriteFlags(KConfigBase::Notify);
+ addItem( itemFooBar, QStringLiteral( "FooBar" ) );
+ KConfigSkeleton::ItemInt *itemAge;
+ itemAge = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Age" ), mAge, 35 );
+ itemAge->setMinValue(8);
+ itemAge->setMaxValue(88);
+ itemAge->setWriteFlags(KConfigBase::Notify);
+ addItem( itemAge, QStringLiteral( "Age" ) );
+}
+
+TestNotifiers::~TestNotifiers()
+{
+}
+
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test_notifiers.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TESTNOTIFIERS_H
+#define TESTNOTIFIERS_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class TestNotifiers : public KConfigSkeleton
+{
+ public:
+
+ TestNotifiers( int Number );
+ ~TestNotifiers() override;
+
+ /**
+ Set Block colors.
+ */
+ void setColor( const QColor & v )
+ {
+ if (!isColorImmutable())
+ mColor = v;
+ }
+
+ /**
+ Get Block colors.
+ */
+ QColor color() const
+ {
+ return mColor;
+ }
+
+ /**
+ Is Block colors. Immutable
+ */
+ bool isColorImmutable() const
+ {
+ return isImmutable( QStringLiteral( "Color" ) );
+ }
+
+ /**
+ Set foo bar
+ */
+ void setFooBar( const QString & v )
+ {
+ if (!isFooBarImmutable())
+ mFooBar = v;
+ }
+
+ /**
+ Get foo bar
+ */
+ QString fooBar() const
+ {
+ return mFooBar;
+ }
+
+ /**
+ Is foo bar Immutable
+ */
+ bool isFooBarImmutable() const
+ {
+ return isImmutable( QStringLiteral( "FooBar" ) );
+ }
+
+ /**
+ Set Age
+ */
+ void setAge( int v )
+ {
+ if (v < 8)
+ {
+ qDebug() << "setAge: value " << v << " is less than the minimum value of 8";
+ v = 8;
+ }
+
+ if (v > 88)
+ {
+ qDebug() << "setAge: value " << v << " is greater than the maximum value of 88";
+ v = 88;
+ }
+
+ if (!isAgeImmutable())
+ mAge = v;
+ }
+
+ /**
+ Get Age
+ */
+ int age() const
+ {
+ return mAge;
+ }
+
+ /**
+ Is Age Immutable
+ */
+ bool isAgeImmutable() const
+ {
+ return isImmutable( QStringLiteral( "Age" ) );
+ }
+
+ protected:
+ int mParamNumber;
+
+ // Foo
+ QColor mColor;
+
+ // Bar$(Number)
+ QString mFooBar;
+ int mAge;
+
+ private:
+};
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile name="test7rc">
+ <parameter name="Number" type="Int"/>
+ </kcfgfile>
+
+ <group name="Foo">
+ <entry name="Color" type="Color" key="color #$(Number)">
+ <label>Block colors.</label>
+ <default>red</default>
+ </entry>
+ </group>
+ <group name="Bar$(Number)">
+ <entry name="FooBar" key="foo bar" type="String"/>
+ <entry name="Age" type="Int">
+ <default>35</default>
+ <min>8</min>
+ <max>88</max>
+ </entry>
+ </group>
+
+</kcfg>
--- /dev/null
+# Code generation options for kconfig_compiler_kf6
+File=test_notifiers.kcfg
+ClassName=TestNotifiers
+Singleton=false
+Mutators=true
+GlobalEnums=true
+ItemAccessors=false
+Notifiers=true
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2019 Kai Uwe Broulik <kde@privat.broulik.de>
+
+ SPDX-License-Identifier: MIT
+*/
+
+#include "test_notifiers.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+ QGuiApplication app(argc, argv);
+ Q_UNUSED(app);
+ TestNotifiers t = TestNotifiers(42);
+ return 0;
+}
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test_param_minmax.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test_param_minmax.h"
+
+TestParamMinMax::TestParamMinMax( KSharedConfig::Ptr config )
+ : KConfigSkeleton( std::move( config ) )
+{
+ setCurrentGroup( QStringLiteral( "Something" ) );
+
+ KConfigSkeleton::ItemDouble *itemFoo[6];
+ itemFoo[0] = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "foo_#0" ), mFoo[0], 1.23 );
+ itemFoo[0]->setMinValue(0.01);
+ itemFoo[0]->setMaxValue(89898.23);
+ addItem( itemFoo[0], QStringLiteral( "Foo0" ) );
+ itemFoo[1] = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "foo_#1" ), mFoo[1], 1.23 );
+ itemFoo[1]->setMinValue(0.01);
+ itemFoo[1]->setMaxValue(89898.23);
+ addItem( itemFoo[1], QStringLiteral( "Foo1" ) );
+ itemFoo[2] = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "foo_#2" ), mFoo[2], 1.23 );
+ itemFoo[2]->setMinValue(0.01);
+ itemFoo[2]->setMaxValue(89898.23);
+ addItem( itemFoo[2], QStringLiteral( "Foo2" ) );
+ itemFoo[3] = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "foo_#3" ), mFoo[3], 1.23 );
+ itemFoo[3]->setMinValue(0.01);
+ itemFoo[3]->setMaxValue(89898.23);
+ addItem( itemFoo[3], QStringLiteral( "Foo3" ) );
+ itemFoo[4] = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "foo_#4" ), mFoo[4], 1.23 );
+ itemFoo[4]->setMinValue(0.01);
+ itemFoo[4]->setMaxValue(89898.23);
+ addItem( itemFoo[4], QStringLiteral( "Foo4" ) );
+ itemFoo[5] = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "foo_#5" ), mFoo[5], 1.23 );
+ itemFoo[5]->setMinValue(0.01);
+ itemFoo[5]->setMaxValue(89898.23);
+ addItem( itemFoo[5], QStringLiteral( "Foo5" ) );
+}
+
+TestParamMinMax::~TestParamMinMax()
+{
+}
+
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test_param_minmax.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TESTPARAMMINMAX_H
+#define TESTPARAMMINMAX_H
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class TestParamMinMax : public KConfigSkeleton
+{
+ public:
+
+ TestParamMinMax( KSharedConfig::Ptr config = KSharedConfig::openConfig() );
+ ~TestParamMinMax() override;
+
+ /**
+ Set foo_#$(myparam)
+ */
+ void setFoo( int i, double v )
+ {
+ if (v < 0.01)
+ {
+ qDebug() << "setFoo: value " << v << " is less than the minimum value of 0.01";
+ v = 0.01;
+ }
+
+ if (v > 89898.23)
+ {
+ qDebug() << "setFoo: value " << v << " is greater than the maximum value of 89898.23";
+ v = 89898.23;
+ }
+
+ if (!isFooImmutable( i ))
+ mFoo[i] = v;
+ }
+
+ /**
+ Get foo_#$(myparam)
+ */
+ double foo( int i ) const
+ {
+ return mFoo[i];
+ }
+
+ /**
+ Is foo_#$(myparam) Immutable
+ */
+ bool isFooImmutable( int i ) const
+ {
+ return isImmutable( QStringLiteral( "Foo%1" ).arg( i ) );
+ }
+
+ protected:
+
+ // Something
+ double mFoo[6];
+
+ private:
+};
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Author: Henri Chain -->
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile arg="true"/>
+ <group name="Something">
+ <entry name="Foo$(myparam)" type="double" key="foo_#$(myparam)">
+ <parameter name="myparam" type="Int" max="5"/>
+ <default>1.23</default>
+ <min>0.01</min>
+ <max>89898.23</max>
+ </entry>
+ </group>
+</kcfg>
+
--- /dev/null
+ClassName=TestParamMinMax
+File=test_param_minmax.kcfg
+Mutators=true
+
--- /dev/null
+/*
+Copyright (c) 2020 Henri chain <henri.chain@enioka.com>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+#include "test_param_minmax.h"
+
+int main(int, char **)
+{
+ TestParamMinMax t = TestParamMinMax();
+ return 0;
+}
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test_properties_minmax.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test_properties_minmax.h"
+
+TestPropertiesMinMax::TestPropertiesMinMax( KSharedConfig::Ptr config )
+ : KConfigSkeleton( std::move( config ) )
+{
+ KConfigCompilerSignallingItem::NotifyFunction notifyFunction = static_cast<KConfigCompilerSignallingItem::NotifyFunction>(&TestPropertiesMinMax::itemChanged);
+
+ setCurrentGroup( QStringLiteral( "Something" ) );
+
+ KConfigCompilerSignallingItem *itemBar;
+ KConfigSkeleton::ItemInt *innerItemBar;
+ innerItemBar = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "bar" ), mBar, 42 );
+ itemBar = new KConfigCompilerSignallingItem(innerItemBar, this, notifyFunction, signalBarChanged);
+ innerItemBar->setMinValue(36);
+ innerItemBar->setMaxValue(102);
+ addItem( itemBar, QStringLiteral( "bar" ) );
+}
+
+TestPropertiesMinMax::~TestPropertiesMinMax()
+{
+}
+
+
+void TestPropertiesMinMax::itemChanged(quint64 signalFlag) {
+
+ switch (signalFlag) {
+ case signalBarChanged:
+ Q_EMIT barChanged();
+ break;
+ }
+}
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test_properties_minmax.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TESTPROPERTIESMINMAX_H
+#define TESTPROPERTIESMINMAX_H
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class TestPropertiesMinMax : public KConfigSkeleton
+{
+ Q_OBJECT
+ public:
+
+ TestPropertiesMinMax( KSharedConfig::Ptr config = KSharedConfig::openConfig() );
+ ~TestPropertiesMinMax() override;
+
+ /**
+ Set bar
+ */
+ void setBar( int v )
+ {
+ if (v < 36)
+ {
+ qDebug() << "setBar: value " << v << " is less than the minimum value of 36";
+ v = 36;
+ }
+
+ if (v > 102)
+ {
+ qDebug() << "setBar: value " << v << " is greater than the maximum value of 102";
+ v = 102;
+ }
+
+ if (v != mBar && !isBarImmutable()) {
+ mBar = v;
+ Q_EMIT barChanged();
+ }
+ }
+
+ Q_PROPERTY(int bar READ bar WRITE setBar NOTIFY barChanged)
+ Q_PROPERTY(bool isBarImmutable READ isBarImmutable CONSTANT)
+ /**
+ Get bar
+ */
+ int bar() const
+ {
+ return mBar;
+ }
+
+ /**
+ Is bar Immutable
+ */
+ bool isBarImmutable() const
+ {
+ return isImmutable( QStringLiteral( "bar" ) );
+ }
+
+
+ enum {
+ signalBarChanged = 1
+ };
+
+ Q_SIGNALS:
+ void barChanged();
+
+ private:
+ void itemChanged(quint64 signalFlag);
+
+ protected:
+
+ // Something
+ int mBar;
+
+ private:
+};
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Author: Henri Chain -->
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile arg="true"/>
+ <group name="Something">
+ <entry name="bar" type="Int">
+ <default>42</default>
+ <min>36</min>
+ <max>102</max>
+ </entry>
+ </group>
+</kcfg>
--- /dev/null
+ClassName=TestPropertiesMinMax
+GenerateProperties=true
+File=test_properties_minmax.kcfg
+Mutators=true
+
--- /dev/null
+/*
+Copyright (c) 2020 Henri Chain <henri.chain@enioka.com>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+#include "test_properties_minmax.h"
+
+int main(int, char **)
+{
+ TestPropertiesMinMax t = TestPropertiesMinMax();
+ return 0;
+}
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test_qdebugcategory.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test_qdebugcategory.h"
+
+TestQCategory::TestQCategory( int Number )
+ : KConfigSkeleton( QStringLiteral( "test7rc" ) )
+ , mParamNumber(Number)
+{
+ setCurrentGroup( QStringLiteral( "Foo" ) );
+
+ KConfigSkeleton::ItemColor *itemColor;
+ itemColor = new KConfigSkeleton::ItemColor( currentGroup(), QStringLiteral( "color #%1" ).arg( mParamNumber ), mColor, QColor( "red" ) );
+ addItem( itemColor, QStringLiteral( "Color" ) );
+
+ setCurrentGroup( QStringLiteral( "Bar%1" ).arg( mParamNumber ) );
+
+ KConfigSkeleton::ItemString *itemFooBar;
+ itemFooBar = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "foo bar" ), mFooBar );
+ addItem( itemFooBar, QStringLiteral( "FooBar" ) );
+ KConfigSkeleton::ItemInt *itemAge;
+ itemAge = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Age" ), mAge, 35 );
+ itemAge->setMinValue(8);
+ itemAge->setMaxValue(88);
+ addItem( itemAge, QStringLiteral( "Age" ) );
+}
+
+TestQCategory::~TestQCategory()
+{
+}
+
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test_qdebugcategory.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TESTQCATEGORY_H
+#define TESTQCATEGORY_H
+
+#include <test_qdebugcategory_debug.h>
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class TestQCategory : public KConfigSkeleton
+{
+ public:
+
+ TestQCategory( int Number );
+ ~TestQCategory() override;
+
+ /**
+ Set Block colors.
+ */
+ void setColor( const QColor & v )
+ {
+ if (!isColorImmutable())
+ mColor = v;
+ }
+
+ /**
+ Get Block colors.
+ */
+ QColor color() const
+ {
+ return mColor;
+ }
+
+ /**
+ Is Block colors. Immutable
+ */
+ bool isColorImmutable() const
+ {
+ return isImmutable( QStringLiteral( "Color" ) );
+ }
+
+ /**
+ Set foo bar
+ */
+ void setFooBar( const QString & v )
+ {
+ if (!isFooBarImmutable())
+ mFooBar = v;
+ }
+
+ /**
+ Get foo bar
+ */
+ QString fooBar() const
+ {
+ return mFooBar;
+ }
+
+ /**
+ Is foo bar Immutable
+ */
+ bool isFooBarImmutable() const
+ {
+ return isImmutable( QStringLiteral( "FooBar" ) );
+ }
+
+ /**
+ Set Age
+ */
+ void setAge( int v )
+ {
+ if (v < 8)
+ {
+ qCDebug(CATEGORY_LOG) << "setAge: value " << v << " is less than the minimum value of 8";
+ v = 8;
+ }
+
+ if (v > 88)
+ {
+ qCDebug(CATEGORY_LOG) << "setAge: value " << v << " is greater than the maximum value of 88";
+ v = 88;
+ }
+
+ if (!isAgeImmutable())
+ mAge = v;
+ }
+
+ /**
+ Get Age
+ */
+ int age() const
+ {
+ return mAge;
+ }
+
+ /**
+ Is Age Immutable
+ */
+ bool isAgeImmutable() const
+ {
+ return isImmutable( QStringLiteral( "Age" ) );
+ }
+
+ protected:
+ int mParamNumber;
+
+ // Foo
+ QColor mColor;
+
+ // Bar$(Number)
+ QString mFooBar;
+ int mAge;
+
+ private:
+};
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile name="test7rc">
+ <parameter name="Number" type="Int"/>
+ </kcfgfile>
+
+ <group name="Foo">
+ <entry name="Color" type="Color" key="color #$(Number)">
+ <label>Block colors.</label>
+ <default>red</default>
+ </entry>
+ </group>
+ <group name="Bar$(Number)">
+ <entry name="FooBar" key="foo bar" type="String"/>
+ <entry name="Age" type="Int">
+ <default>35</default>
+ <min>8</min>
+ <max>88</max>
+ </entry>
+ </group>
+
+</kcfg>
--- /dev/null
+# Code generation options for kconfig_compiler_kf6
+File=test_qdebugcategory.kcfg
+ClassName=TestQCategory
+Singleton=false
+Mutators=true
+GlobalEnums=true
+ItemAccessors=false
+CategoryLoggingName=CATEGORY_LOG
+IncludeFiles=test_qdebugcategory_debug.h
--- /dev/null
+#include "test_qdebugcategory_debug.h"
+Q_LOGGING_CATEGORY(CATEGORY_LOG, "log_category")
--- /dev/null
+#ifndef TEST_QCATEGORY_DEBUG_H
+#define TEST_QCATEGORY_DEBUG_H
+
+#include <QLoggingCategory>
+Q_DECLARE_LOGGING_CATEGORY(CATEGORY_LOG)
+
+#endif
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2004 Waldo Bastian <bastian@kde.org>
+
+ SPDX-License-Identifier: MIT
+*/
+
+#include "test_qdebugcategory.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+ QGuiApplication app(argc, argv);
+ Q_UNUSED(app);
+ TestQCategory t = TestQCategory(42);
+ return 0;
+}
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test_signal.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test_signal.h"
+
+#include <qglobal.h>
+#include <QFile>
+
+class TestSignalHelper
+{
+ public:
+ TestSignalHelper() : q(nullptr) {}
+ ~TestSignalHelper() { delete q; q = nullptr; }
+ TestSignalHelper(const TestSignalHelper&) = delete;
+ TestSignalHelper& operator=(const TestSignalHelper&) = delete;
+ TestSignal *q;
+};
+Q_GLOBAL_STATIC(TestSignalHelper, s_globalTestSignal)
+TestSignal *TestSignal::self()
+{
+ if (!s_globalTestSignal()->q) {
+ new TestSignal;
+ s_globalTestSignal()->q->read();
+ }
+
+ return s_globalTestSignal()->q;
+}
+
+TestSignal::TestSignal( )
+ : KConfigSkeleton( QStringLiteral( "kconfig_compiler_kf6_test_rc" ) )
+{
+ Q_ASSERT(!s_globalTestSignal()->q);
+ s_globalTestSignal()->q = this;
+ KConfigCompilerSignallingItem::NotifyFunction notifyFunction = static_cast<KConfigCompilerSignallingItem::NotifyFunction>(&TestSignal::itemChanged);
+
+ setCurrentGroup( QStringLiteral( "Appearance" ) );
+
+ KConfigCompilerSignallingItem *itemEmoticonTheme;
+ KConfigSkeleton::ItemString *innerItemEmoticonTheme;
+ innerItemEmoticonTheme = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "emoticonTheme" ), mEmoticonTheme, QStringLiteral( "Default" ) );
+ itemEmoticonTheme = new KConfigCompilerSignallingItem(innerItemEmoticonTheme, this, notifyFunction, signalEmoticonSettingsChanged);
+ addItem( itemEmoticonTheme, QStringLiteral( "emoticonTheme" ) );
+ KConfigCompilerSignallingItem *itemUseEmoticon;
+ KConfigSkeleton::ItemBool *innerItemUseEmoticon;
+ innerItemUseEmoticon = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "useEmoticon" ), mUseEmoticon, true );
+ itemUseEmoticon = new KConfigCompilerSignallingItem(innerItemUseEmoticon, this, notifyFunction, signalEmoticonSettingsChanged);
+ addItem( itemUseEmoticon, QStringLiteral( "useEmoticon" ) );
+ KConfigCompilerSignallingItem *itemEmoticonRequireSpace;
+ KConfigSkeleton::ItemBool *innerItemEmoticonRequireSpace;
+ innerItemEmoticonRequireSpace = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "emoticonRequireSpace" ), mEmoticonRequireSpace, true );
+ itemEmoticonRequireSpace = new KConfigCompilerSignallingItem(innerItemEmoticonRequireSpace, this, notifyFunction, signalEmoticonSettingsChanged);
+ addItem( itemEmoticonRequireSpace, QStringLiteral( "emoticonRequireSpace" ) );
+ KConfigCompilerSignallingItem *itemStylePath;
+ KConfigSkeleton::ItemString *innerItemStylePath;
+ innerItemStylePath = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "stylePath" ), mStylePath );
+ itemStylePath = new KConfigCompilerSignallingItem(innerItemStylePath, this, notifyFunction, signalStyleChanged);
+ addItem( itemStylePath, QStringLiteral( "stylePath" ) );
+ KConfigSkeleton::ItemString *itemStyleCSSVariant;
+ itemStyleCSSVariant = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "styleVariant" ), mStyleCSSVariant );
+ addItem( itemStyleCSSVariant, QStringLiteral( "StyleCSSVariant" ) );
+}
+
+TestSignal::~TestSignal()
+{
+ if (s_globalTestSignal.exists() && !s_globalTestSignal.isDestroyed()) {
+ s_globalTestSignal()->q = nullptr;
+ }
+}
+
+bool TestSignal::usrSave()
+{
+ const bool res = KConfigSkeleton::usrSave();
+ if (!res) return false;
+
+ if (mSettingsChanged.contains(signalEmoticonSettingsChanged))
+ Q_EMIT emoticonSettingsChanged();
+ if (mSettingsChanged.contains(signalStyleChanged))
+ Q_EMIT styleChanged(mStylePath, mStyleCSSVariant);
+ mSettingsChanged.clear();
+ return true;
+}
+
+void TestSignal::itemChanged(quint64 signalFlag) {
+ mSettingsChanged.insert(signalFlag);
+
+}
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test_signal.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TESTSIGNAL_H
+#define TESTSIGNAL_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+#include <QSet>
+
+class TestSignal : public KConfigSkeleton
+{
+ Q_OBJECT
+ public:
+
+ static TestSignal *self();
+ ~TestSignal() override;
+
+ /**
+ Set Current emoticon theme.
+ */
+ static
+ void setEmoticonTheme( const QString & v )
+ {
+ if (v != self()->mEmoticonTheme && !self()->isEmoticonThemeImmutable()) {
+ self()->mEmoticonTheme = v;
+ self()->mSettingsChanged.insert(signalEmoticonSettingsChanged);
+ }
+ }
+
+ /**
+ Get Current emoticon theme.
+ */
+ static
+ QString emoticonTheme()
+ {
+ return self()->mEmoticonTheme;
+ }
+
+ /**
+ Is Current emoticon theme. Immutable
+ */
+ static
+ bool isEmoticonThemeImmutable()
+ {
+ return self()->isImmutable( QStringLiteral( "emoticonTheme" ) );
+ }
+
+ /**
+ Set Enable emoticon support in Kopete.
+ */
+ static
+ void setUseEmoticon( bool v )
+ {
+ if (v != self()->mUseEmoticon && !self()->isUseEmoticonImmutable()) {
+ self()->mUseEmoticon = v;
+ self()->mSettingsChanged.insert(signalEmoticonSettingsChanged);
+ }
+ }
+
+ /**
+ Get Enable emoticon support in Kopete.
+ */
+ static
+ bool useEmoticon()
+ {
+ return self()->mUseEmoticon;
+ }
+
+ /**
+ Is Enable emoticon support in Kopete. Immutable
+ */
+ static
+ bool isUseEmoticonImmutable()
+ {
+ return self()->isImmutable( QStringLiteral( "useEmoticon" ) );
+ }
+
+ /**
+ Set Use strict mode in emoticon parsing.
+ */
+ static
+ void setEmoticonRequireSpace( bool v )
+ {
+ if (v != self()->mEmoticonRequireSpace && !self()->isEmoticonRequireSpaceImmutable()) {
+ self()->mEmoticonRequireSpace = v;
+ self()->mSettingsChanged.insert(signalEmoticonSettingsChanged);
+ }
+ }
+
+ /**
+ Get Use strict mode in emoticon parsing.
+ */
+ static
+ bool emoticonRequireSpace()
+ {
+ return self()->mEmoticonRequireSpace;
+ }
+
+ /**
+ Is Use strict mode in emoticon parsing. Immutable
+ */
+ static
+ bool isEmoticonRequireSpaceImmutable()
+ {
+ return self()->isImmutable( QStringLiteral( "emoticonRequireSpace" ) );
+ }
+
+ /**
+ Set Absolute path to a directory containing a Adium/Kopete chat window style.
+ */
+ static
+ void setStylePath( const QString & v )
+ {
+ if (v != self()->mStylePath && !self()->isStylePathImmutable()) {
+ self()->mStylePath = v;
+ self()->mSettingsChanged.insert(signalStyleChanged);
+ }
+ }
+
+ /**
+ Get Absolute path to a directory containing a Adium/Kopete chat window style.
+ */
+ static
+ QString stylePath()
+ {
+ return self()->mStylePath;
+ }
+
+ /**
+ Is Absolute path to a directory containing a Adium/Kopete chat window style. Immutable
+ */
+ static
+ bool isStylePathImmutable()
+ {
+ return self()->isImmutable( QStringLiteral( "stylePath" ) );
+ }
+
+ /**
+ Set Relative path to a CSS variant for the current style.
+ */
+ static
+ void setStyleCSSVariant( const QString & v )
+ {
+ if (!self()->isStyleCSSVariantImmutable())
+ self()->mStyleCSSVariant = v;
+ }
+
+ /**
+ Get Relative path to a CSS variant for the current style.
+ */
+ static
+ QString styleCSSVariant()
+ {
+ return self()->mStyleCSSVariant;
+ }
+
+ /**
+ Is Relative path to a CSS variant for the current style. Immutable
+ */
+ static
+ bool isStyleCSSVariantImmutable()
+ {
+ return self()->isImmutable( QStringLiteral( "StyleCSSVariant" ) );
+ }
+
+
+ enum {
+ signalEmoticonSettingsChanged = 1,
+ signalStyleChanged = 2
+ };
+
+ Q_SIGNALS:
+ void emoticonSettingsChanged();
+
+ /**
+ Tell when a complete style change.
+ */
+ void styleChanged(const QString & stylePath, const QString & StyleCSSVariant);
+
+ private:
+ void itemChanged(quint64 signalFlag);
+
+ protected:
+ TestSignal();
+ friend class TestSignalHelper;
+
+ bool usrSave() override;
+
+ // Appearance
+ QString mEmoticonTheme;
+ bool mUseEmoticon;
+ bool mEmoticonRequireSpace;
+ QString mStylePath;
+ QString mStyleCSSVariant;
+
+ private:
+ QSet<quint64> mSettingsChanged;
+};
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Author: Michaël Larouche-->
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile name="kconfig_compiler_kf6_test_rc"/>
+
+ <signal name="emoticonSettingsChanged" />
+
+ <signal name="styleChanged">
+ <label>Tell when a complete style change.</label>
+ <argument type="String">stylePath</argument>
+ <argument type="String">StyleCSSVariant</argument>
+ </signal>
+
+ <group name="Appearance">
+ <!-- Emoticon config -->
+ <entry key="emoticonTheme" type="String">
+ <label>Current emoticon theme.</label>
+ <default>Default</default>
+ <emit signal="emoticonSettingsChanged" />
+ </entry>
+ <entry key="useEmoticon" type="Bool">
+ <label>Enable emoticon support in Kopete.</label>
+ <default>true</default>
+ <emit signal="emoticonSettingsChanged" />
+ </entry>
+ <entry key="emoticonRequireSpace" type="Bool">
+ <label>Use strict mode in emoticon parsing.</label>
+ <default>true</default>
+ <emit signal="emoticonSettingsChanged" />
+ </entry>
+
+ <!-- Chat Window Style preferences -->
+ <entry key="stylePath" type="String">
+ <label>Absolute path to a directory containing a Adium/Kopete chat window style.</label>
+ <emit signal="styleChanged" />
+ </entry>
+
+ <entry key="styleVariant" type="String" name="StyleCSSVariant">
+ <label>Relative path to a CSS variant for the current style.</label>
+ </entry>
+ </group>
+</kcfg>
--- /dev/null
+File=test_signal.kcfg
+ClassName=TestSignal
+Singleton=true
+Mutators=true
+MemberVariables=private
+GlobalEnums=false
+ItemAccessors=false
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2006 Michael Larouche <michael.larouche@kdemail.net>
+
+ SPDX-License-Identifier: MIT
+*/
+
+#include "test_signal.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+ QGuiApplication app(argc, argv);
+ Q_UNUSED(app);
+ TestSignal *t = TestSignal::self();
+ delete t;
+ return 0;
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile name="test_statedatarc" stateConfig="true"/>
+
+ <group name="General">
+ <entry type="Int" key="SomeStateData">
+ <default>0</default>
+ </entry>
+ </group>
+
+</kcfg>
--- /dev/null
+# Code generation options for kconfig_compiler_kf6
+File=test_state_config.kcfg
+ClassName=MyStateConfig
+Singleton=false
+Mutators=true
+ItemAccessors=true
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2021 Alexander Lohnau <alexander.lohnau@gmx.de>
+
+ SPDX-License-Identifier: MIT
+*/
+
+#include "test_state_config.h"
+#include <QTest>
+
+class TestStateConfig : public QObject
+{
+ Q_OBJECT
+
+private Q_SLOTS:
+ void testStateConfig()
+ {
+ auto stateConfig = KSharedConfig::openStateConfig(QStringLiteral("test_statedatarc"));
+
+ // Clean the group at every start
+ stateConfig->deleteGroup(QStringLiteral("General"));
+ stateConfig->sync();
+
+ // It should have the default value
+ QCOMPARE(MyStateConfig().someStateData(), 0);
+
+ // the updated value should be read from the generated config class
+ stateConfig->group(QStringLiteral("General")).writeEntry("SomeStateData", 1);
+ QCOMPARE(MyStateConfig().someStateData(), 1);
+
+ // Make sure writing the value works as expected
+ MyStateConfig cfg;
+ cfg.setSomeStateData(2);
+ QVERIFY(cfg.isSaveNeeded());
+ cfg.save();
+ stateConfig->reparseConfiguration();
+ QCOMPARE(stateConfig->group(QStringLiteral("General")).readEntry("SomeStateData", -1), 2);
+ }
+};
+QTEST_MAIN(TestStateConfig)
+
+#include "test_state_config_main.moc"
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test_subgroups.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test_subgroups.h"
+
+TestSubgroups::TestSubgroups( const QString & GeneralGroup, const QString & SubGroup, const QString & AnotherSubGroup )
+ : KConfigSkeleton( QStringLiteral( "kconfig_compiler_kf6_test_rc" ) )
+ , mParamGeneralGroup(GeneralGroup)
+ , mParamSubGroup(SubGroup)
+ , mParamAnotherSubGroup(AnotherSubGroup)
+{
+ KConfigGroup cgGeneralGroup(this->config(), QStringLiteral( "%1" ).arg( mParamGeneralGroup ));
+ KConfigGroup cgSubGroup = cgGeneralGroup.group(QStringLiteral( "%1" ).arg( mParamSubGroup ));
+ KConfigSkeleton::ItemBool *itemFoo;
+ itemFoo = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Foo" ), mFoo, true );
+ itemFoo->setWriteFlags(KConfigBase::Notify);
+ itemFoo->setGroup(cgSubGroup);
+ addItem( itemFoo, QStringLiteral( "Foo" ) );
+
+ KConfigGroup cgother = cgGeneralGroup.group(QStringLiteral( "other" ));
+ KConfigSkeleton::ItemInt *itemBar;
+ itemBar = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Bar" ), mBar, 42 );
+ itemBar->setWriteFlags(KConfigBase::Notify);
+ itemBar->setGroup(cgother);
+ addItem( itemBar, QStringLiteral( "Bar" ) );
+
+ KConfigGroup cgParentGroup(this->config(), QStringLiteral( "ParentGroup" ));
+ KConfigGroup cgAnotherSubGroup = cgParentGroup.group(QStringLiteral( "%1" ).arg( mParamAnotherSubGroup ));
+ KConfigSkeleton::ItemBool *itemBaz;
+ itemBaz = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Baz" ), mBaz, true );
+ itemBaz->setWriteFlags(KConfigBase::Notify);
+ itemBaz->setGroup(cgAnotherSubGroup);
+ addItem( itemBaz, QStringLiteral( "Baz" ) );
+
+ KConfigGroup cgSimpleParentGroup(this->config(), QStringLiteral( "SimpleParentGroup" ));
+ KConfigGroup cgSimpleGroup = cgSimpleParentGroup.group(QStringLiteral( "SimpleGroup" ));
+ KConfigSkeleton::ItemBool *itemFoobar;
+ itemFoobar = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Foobar" ), mFoobar, true );
+ itemFoobar->setWriteFlags(KConfigBase::Notify);
+ itemFoobar->setGroup(cgSimpleGroup);
+ addItem( itemFoobar, QStringLiteral( "Foobar" ) );
+}
+
+TestSubgroups::~TestSubgroups()
+{
+}
+
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test_subgroups.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TESTSUBGROUPS_H
+#define TESTSUBGROUPS_H
+
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+class TestSubgroups : public KConfigSkeleton
+{
+ public:
+
+ TestSubgroups( const QString & GeneralGroup, const QString & SubGroup, const QString & AnotherSubGroup );
+ ~TestSubgroups() override;
+
+ /**
+ Get Foo
+ */
+ bool foo() const
+ {
+ return mFoo;
+ }
+
+ /**
+ Is Foo Immutable
+ */
+ bool isFooImmutable() const
+ {
+ return isImmutable( QStringLiteral( "Foo" ) );
+ }
+
+ /**
+ Get Bar
+ */
+ int bar() const
+ {
+ return mBar;
+ }
+
+ /**
+ Is Bar Immutable
+ */
+ bool isBarImmutable() const
+ {
+ return isImmutable( QStringLiteral( "Bar" ) );
+ }
+
+ /**
+ Get Baz
+ */
+ bool baz() const
+ {
+ return mBaz;
+ }
+
+ /**
+ Is Baz Immutable
+ */
+ bool isBazImmutable() const
+ {
+ return isImmutable( QStringLiteral( "Baz" ) );
+ }
+
+ /**
+ Get Foobar
+ */
+ bool foobar() const
+ {
+ return mFoobar;
+ }
+
+ /**
+ Is Foobar Immutable
+ */
+ bool isFoobarImmutable() const
+ {
+ return isImmutable( QStringLiteral( "Foobar" ) );
+ }
+
+ protected:
+ QString mParamGeneralGroup;
+ QString mParamSubGroup;
+ QString mParamAnotherSubGroup;
+
+ // $(SubGroup)
+ bool mFoo;
+
+ // other
+ int mBar;
+
+ // $(AnotherSubGroup)
+ bool mBaz;
+
+ // SimpleGroup
+ bool mFoobar;
+
+ private:
+};
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile name="kconfig_compiler_kf6_test_rc">
+ <parameter name="GeneralGroup" />
+ <parameter name="SubGroup"/>
+ <parameter name="AnotherSubGroup"/>
+ </kcfgfile>
+ <group name="$(SubGroup)" parentGroupName="$(GeneralGroup)">
+ <entry name="Foo" type="Bool">
+ <default>true</default>
+ </entry>
+ </group>
+ <group name="other" parentGroupName="$(GeneralGroup)">
+ <entry name="Bar" type="Int">
+ <default>42</default>
+ </entry>
+ </group>
+ <group name="$(AnotherSubGroup)" parentGroupName="ParentGroup">
+ <entry name="Baz" type="Bool">
+ <default>true</default>
+ </entry>
+ </group>
+ <group name="SimpleGroup" parentGroupName="SimpleParentGroup">
+ <entry name="Foobar" type="Bool">
+ <default>true</default>
+ </entry>
+ </group>
+</kcfg>
--- /dev/null
+File=test_subgroups.kcfg
+ClassName=TestSubgroups
+Notifiers=true
--- /dev/null
+/*
+ This file is part of KDE.
+
+ Copyright (C) 2020 Cyril Rossi <cyril.rossi@enioka.com>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "test_subgroups.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+ QGuiApplication app(argc, argv);
+ Q_UNUSED(app);
+ TestSubgroups t = TestSubgroups(QStringLiteral("General"), QStringLiteral("Sub"), QStringLiteral("AnotherSub"));
+ return 0;
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile name="test_translation_rc"/>
+
+ <group name="General">
+ <entry type="Bool" key="Auto Save">
+ <label>Enable automatic saving of calendar</label>
+ <whatsthis context="@info:whatsthis">Enable automatic saving of calendars to have calendars saved automatically.</whatsthis>
+ <default>false</default>
+ </entry>
+ </group>
+
+</kcfg>
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test_translation.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test_translation_kde.h"
+
+#include <klocalizedstring.h>
+
+using namespace TestNameSpace;
+
+TestTranslationKde::TestTranslationKde( )
+ : KConfigSkeleton( QStringLiteral( "test_translation_rc" ) )
+{
+ setCurrentGroup( QStringLiteral( "General" ) );
+
+ KConfigSkeleton::ItemBool *itemAutoSave;
+ itemAutoSave = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Auto Save" ), mAutoSave, false );
+ itemAutoSave->setLabel( i18n("Enable automatic saving of calendar") );
+ itemAutoSave->setWhatsThis( i18nc("@info:whatsthis", "Enable automatic saving of calendars to have calendars saved automatically.") );
+ addItem( itemAutoSave, QStringLiteral( "AutoSave" ) );
+}
+
+TestTranslationKde::~TestTranslationKde()
+{
+}
+
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test_translation.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TESTNAMESPACE_TESTTRANSLATIONKDE_H
+#define TESTNAMESPACE_TESTTRANSLATIONKDE_H
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+namespace TestNameSpace {
+
+class TestTranslationKde : public KConfigSkeleton
+{
+ public:
+
+ TestTranslationKde( );
+ ~TestTranslationKde() override;
+
+ /**
+ Get Enable automatic saving of calendar
+ */
+ bool autoSave() const
+ {
+ return mAutoSave;
+ }
+
+ /**
+ Is Enable automatic saving of calendar Immutable
+ */
+ bool isAutoSaveImmutable() const
+ {
+ return isImmutable( QStringLiteral( "AutoSave" ) );
+ }
+
+ protected:
+
+ // General
+ bool mAutoSave;
+
+ private:
+};
+
+}
+
+#endif
+
--- /dev/null
+# Code generation options for kconfig_compiler_kf6
+File=test_translation.kcfg
+NameSpace=TestNameSpace
+ClassName=TestTranslationKde
+SetUserTexts=true
+TranslationSystem=kde
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test_translation.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test_translation_kde_domain.h"
+
+#include <klocalizedstring.h>
+
+using namespace TestNameSpace;
+
+TestTranslationKdeDomain::TestTranslationKdeDomain( )
+ : KConfigSkeleton( QStringLiteral( "test_translation_rc" ) )
+{
+ setCurrentGroup( QStringLiteral( "General" ) );
+
+ KConfigSkeleton::ItemBool *itemAutoSave;
+ itemAutoSave = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Auto Save" ), mAutoSave, false );
+ itemAutoSave->setLabel( i18nd("test-kcfg-kde", "Enable automatic saving of calendar") );
+ itemAutoSave->setWhatsThis( i18ndc("test-kcfg-kde", "@info:whatsthis", "Enable automatic saving of calendars to have calendars saved automatically.") );
+ addItem( itemAutoSave, QStringLiteral( "AutoSave" ) );
+}
+
+TestTranslationKdeDomain::~TestTranslationKdeDomain()
+{
+}
+
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test_translation.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TESTNAMESPACE_TESTTRANSLATIONKDEDOMAIN_H
+#define TESTNAMESPACE_TESTTRANSLATIONKDEDOMAIN_H
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+namespace TestNameSpace {
+
+class TestTranslationKdeDomain : public KConfigSkeleton
+{
+ public:
+
+ TestTranslationKdeDomain( );
+ ~TestTranslationKdeDomain() override;
+
+ /**
+ Get Enable automatic saving of calendar
+ */
+ bool autoSave() const
+ {
+ return mAutoSave;
+ }
+
+ /**
+ Is Enable automatic saving of calendar Immutable
+ */
+ bool isAutoSaveImmutable() const
+ {
+ return isImmutable( QStringLiteral( "AutoSave" ) );
+ }
+
+ protected:
+
+ // General
+ bool mAutoSave;
+
+ private:
+};
+
+}
+
+#endif
+
--- /dev/null
+# Code generation options for kconfig_compiler_kf6
+File=test_translation.kcfg
+NameSpace=TestNameSpace
+ClassName=TestTranslationKdeDomain
+SetUserTexts=true
+TranslationSystem=kde
+TranslationDomain=test-kcfg-kde
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2015 Chusslove Illich <caslav.ilic@gmx.net>
+
+ SPDX-License-Identifier: MIT
+*/
+
+#include "test_translation_kde_domain.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+ QGuiApplication app(argc, argv);
+ Q_UNUSED(app);
+ TestNameSpace::TestTranslationKdeDomain t = TestNameSpace::TestTranslationKdeDomain();
+ return 0;
+}
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2015 Chusslove Illich <caslav.ilic@gmx.net>
+
+ SPDX-License-Identifier: MIT
+*/
+
+#include "test_translation_kde.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+ QGuiApplication app(argc, argv);
+ Q_UNUSED(app);
+ TestNameSpace::TestTranslationKde t = TestNameSpace::TestTranslationKde();
+ return 0;
+}
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test_translation.kcfg.
+// All changes you do to this file will be lost.
+
+#include "test_translation_qt.h"
+
+using namespace TestNameSpace;
+
+TestTranslationQt::TestTranslationQt( )
+ : KConfigSkeleton( QStringLiteral( "test_translation_rc" ) )
+{
+ setCurrentGroup( QStringLiteral( "General" ) );
+
+ KConfigSkeleton::ItemBool *itemAutoSave;
+ itemAutoSave = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Auto Save" ), mAutoSave, false );
+ itemAutoSave->setLabel( QCoreApplication::translate("TestTranslationQt", "Enable automatic saving of calendar") );
+ itemAutoSave->setWhatsThis( /*: @info:whatsthis */ QCoreApplication::translate("TestTranslationQt", "Enable automatic saving of calendars to have calendars saved automatically.") );
+ addItem( itemAutoSave, QStringLiteral( "AutoSave" ) );
+}
+
+TestTranslationQt::~TestTranslationQt()
+{
+}
+
--- /dev/null
+// This file is generated by kconfig_compiler_kf6 from test_translation.kcfg.
+// All changes you do to this file will be lost.
+#ifndef TESTNAMESPACE_TESTTRANSLATIONQT_H
+#define TESTNAMESPACE_TESTTRANSLATIONQT_H
+
+#include <qglobal.h>
+#include <kconfigskeleton.h>
+#include <QCoreApplication>
+#include <QDebug>
+
+namespace TestNameSpace {
+
+class TestTranslationQt : public KConfigSkeleton
+{
+ public:
+
+ TestTranslationQt( );
+ ~TestTranslationQt() override;
+
+ /**
+ Get Enable automatic saving of calendar
+ */
+ bool autoSave() const
+ {
+ return mAutoSave;
+ }
+
+ /**
+ Is Enable automatic saving of calendar Immutable
+ */
+ bool isAutoSaveImmutable() const
+ {
+ return isImmutable( QStringLiteral( "AutoSave" ) );
+ }
+
+ protected:
+
+ // General
+ bool mAutoSave;
+
+ private:
+};
+
+}
+
+#endif
+
--- /dev/null
+# Code generation options for kconfig_compiler_kf6
+File=test_translation.kcfg
+NameSpace=TestNameSpace
+ClassName=TestTranslationQt
+SetUserTexts=true
+TranslationSystem=qt
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2015 Chusslove Illich <caslav.ilic@gmx.net>
+
+ SPDX-License-Identifier: MIT
+*/
+
+#include "test_translation_qt.h"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+ QGuiApplication app(argc, argv);
+ Q_UNUSED(app);
+ TestNameSpace::TestTranslationQt t = TestNameSpace::TestTranslationQt();
+ return 0;
+}
--- /dev/null
+/* This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 1997 Matthias Kalle Dalheimer <kalle@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfigguitest.h"
+#include <QtTestGui>
+
+#include <QDir>
+#include <QFont>
+#include <QStandardPaths>
+#include <kconfig.h>
+#include <kconfiggroup.h>
+#include <kconfigskeleton.h>
+
+QTEST_MAIN(KConfigTest)
+
+// clazy:excludeall=non-pod-global-static
+
+static const QColor s_color_entry1(QLatin1String{"steelblue"});
+static const QColor s_color_entry2(235, 235, 100, 125);
+static const QColor s_color_entry3(234, 234, 127);
+
+static QFont fontEntry()
+{
+ return QFont{QStringLiteral("Times"), 16, QFont::Normal};
+}
+
+void KConfigTest::initTestCase()
+{
+ QStandardPaths::setTestModeEnabled(true);
+
+ // cheat the linker on windows to link against kconfiggui
+ KConfigSkeleton foo;
+ Q_UNUSED(foo);
+
+ KConfig sc(QStringLiteral("kconfigtest"));
+
+ KConfigGroup cg(&sc, QStringLiteral("ComplexTypes"));
+ cg.writeEntry("colorEntry1", s_color_entry1);
+ cg.writeEntry("colorEntry2", s_color_entry2);
+ cg.writeEntry("colorEntry3", (QList<int>() << 234 << 234 << 127));
+ cg.writeEntry("colorEntry4", (QList<int>() << 235 << 235 << 100 << 125));
+ cg.writeEntry("fontEntry", fontEntry());
+ QVERIFY(sc.sync());
+
+ KConfig sc1(QStringLiteral("kdebugrc"));
+ KConfigGroup sg0(&sc1, QStringLiteral("0"));
+ sg0.writeEntry("AbortFatal", false);
+ sg0.writeEntry("WarnOutput", 0);
+ sg0.writeEntry("FatalOutput", 0);
+ QVERIFY(sc1.sync());
+
+ // Qt 5.8.0 would fail the fromString(toString) roundtrip in QFont
+ // if the qApp font has a styleName set.
+ // This is fixed by https://codereview.qt-project.org/181645
+ // It's not in yet, and it depends on the app font, so rather than
+ // a version check, let's do a runtime check.
+ QFont orig(fontEntry());
+ QFont f;
+ f.fromString(orig.toString());
+ m_fontFromStringBug = (f.toString() != orig.toString());
+ if (m_fontFromStringBug) {
+ qDebug() << "QFont::fromString serialization bug (Qt 5.8.0), the font test will be skipped" << f.toString() << "!=" << orig.toString();
+ }
+}
+
+void KConfigTest::cleanupTestCase()
+{
+ QDir dir(QStandardPaths::writableLocation(QStandardPaths::ConfigLocation));
+ QVERIFY(dir.removeRecursively());
+}
+
+void KConfigTest::testComplex()
+{
+ KConfig sc2(QStringLiteral("kconfigtest"));
+ KConfigGroup sc3(&sc2, QStringLiteral("ComplexTypes"));
+
+ QCOMPARE(QVariant(sc3.readEntry("colorEntry1", QColor(Qt::black))).toString(), QVariant(s_color_entry1).toString());
+ QCOMPARE(sc3.readEntry("colorEntry1", QColor()), s_color_entry1);
+ QCOMPARE(sc3.readEntry("colorEntry2", QColor()), s_color_entry2);
+ QCOMPARE(sc3.readEntry("colorEntry3", QColor()), s_color_entry3);
+ QCOMPARE(sc3.readEntry("colorEntry4", QColor()), s_color_entry2);
+ QCOMPARE(sc3.readEntry("defaultColorTest", QColor("black")), QColor("black"));
+ if (m_fontFromStringBug) {
+ QEXPECT_FAIL("", "QFont fromString bug from Qt 5.8.0", Continue);
+ }
+ QCOMPARE(sc3.readEntry("fontEntry", QFont()), fontEntry());
+}
+
+void KConfigTest::testInvalid()
+{
+ KConfig sc(QStringLiteral("kconfigtest"));
+
+ // all of these should print a message to the kdebug.dbg file
+ KConfigGroup sc3(&sc, QStringLiteral("InvalidTypes"));
+
+ QList<int> list;
+
+ // 1 element list
+ list << 1;
+ sc3.writeEntry(QStringLiteral("badList"), list);
+ QVERIFY(sc.sync());
+
+ QVERIFY(sc3.readEntry("badList", QColor()) == QColor());
+
+ // 2 element list
+ list << 2;
+ sc3.writeEntry("badList", list);
+ QVERIFY(sc.sync());
+
+ QVERIFY(sc3.readEntry("badList", QColor()) == QColor());
+
+ // 3 element list
+ list << 303;
+ sc3.writeEntry("badList", list);
+ QVERIFY(sc.sync());
+
+ QVERIFY(sc3.readEntry("badList", QColor()) == QColor()); // out of bounds
+
+ // 4 element list
+ list << 4;
+ sc3.writeEntry("badList", list);
+ QVERIFY(sc.sync());
+
+ QVERIFY(sc3.readEntry("badList", QColor()) == QColor()); // out of bounds
+
+ list[2] = -3;
+ sc3.writeEntry("badList", list);
+ QVERIFY(sc.sync());
+ QVERIFY(sc3.readEntry("badList", QColor()) == QColor()); // out of bounds
+
+ // 5 element list
+ list[2] = 3;
+ list << 5;
+ sc3.writeEntry("badList", list);
+ QVERIFY(sc.sync());
+
+ QVERIFY(sc3.readEntry("badList", QColor()) == QColor());
+
+ // 6 element list
+ list << 6;
+ sc3.writeEntry("badList", list);
+ QVERIFY(sc.sync());
+
+ QVERIFY(sc3.readEntry("badList", QColor()) == QColor());
+}
+
+#include "moc_kconfigguitest.cpp"
--- /dev/null
+/* This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 1997 Matthias Kalle Dalheimer <kalle@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+#ifndef KCONFIGTEST_H
+#define KCONFIGTEST_H
+
+#include <QObject>
+
+class KConfigTest : public QObject
+{
+ Q_OBJECT
+
+private Q_SLOTS:
+ void testComplex();
+ void testInvalid();
+ void initTestCase();
+ void cleanupTestCase();
+
+private:
+ bool m_fontFromStringBug;
+};
+
+#endif /* KCONFIGTEST_H */
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2010 Martin Blumenstingl <darklight.xdarklight@googlemail.com>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+#include "kconfigloadertest.h"
+
+#include <kconfig.h>
+#include <kconfiggroup.h>
+#include <kconfigloader.h>
+#include <kconfigskeleton.h>
+
+Q_DECLARE_METATYPE(QList<int>)
+
+static const QString s_testName(QStringLiteral("kconfigloadertest")); // clazy:exclude=non-pod-global-static
+
+#define GET_CONFIG_ITEM_VALUE(type, configName) \
+ KConfigSkeletonItem *item = cl->findItem(s_testName, configName); \
+ /* Check if we got back a valid item. */ \
+ QVERIFY(item != nullptr); \
+ /* Cast the item to the given type. */ \
+ type typeItem = dynamic_cast<type>(item); \
+ /* Make sure the cast was successful. */ \
+ QVERIFY(typeItem != nullptr);
+
+void ConfigLoaderTest::init()
+{
+ QString fileName = s_testName + QLatin1String(".xml");
+ configFile = new QFile(QFINDTESTDATA(QString::fromLatin1("/") + fileName));
+ cl = new KConfigLoader(configFile->fileName(), configFile);
+}
+
+void ConfigLoaderTest::cleanup()
+{
+ delete cl;
+ delete configFile;
+}
+
+void ConfigLoaderTest::boolDefaultValue()
+{
+ GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemBool *, QStringLiteral("DefaultBoolItem"));
+
+ QVERIFY(typeItem->isEqual(true));
+}
+
+void ConfigLoaderTest::colorDefaultValue()
+{
+ GET_CONFIG_ITEM_VALUE(KConfigSkeleton::ItemColor *, QStringLiteral("DefaultColorItem"));
+
+ QVERIFY(typeItem->isEqual(QColor("#00FF00")));
+}
+
+void ConfigLoaderTest::dateTimeDefaultValue()
+{
+ GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemDateTime *, QStringLiteral("DefaultDateTimeItem"));
+
+ QVERIFY(typeItem->isEqual(QDateTime::fromString(QStringLiteral("Thu Sep 09 2010"))));
+}
+
+void ConfigLoaderTest::enumDefaultValue()
+{
+ GET_CONFIG_ITEM_VALUE(KConfigSkeleton::ItemEnum *, QStringLiteral("DefaultEnumItem"));
+
+ QVERIFY(typeItem->isEqual(3));
+}
+
+void ConfigLoaderTest::enumDefaultValueString()
+{
+ GET_CONFIG_ITEM_VALUE(KConfigSkeleton::ItemEnum *, QStringLiteral("DefaultEnumItemString"));
+
+ QVERIFY(typeItem->isEqual(2));
+}
+
+void ConfigLoaderTest::fontDefaultValue()
+{
+ GET_CONFIG_ITEM_VALUE(KConfigSkeleton::ItemFont *, QStringLiteral("DefaultFontItem"));
+
+ QVERIFY(typeItem->isEqual(QFont(QStringLiteral("DejaVu Sans"))));
+}
+
+void ConfigLoaderTest::intDefaultValue()
+{
+ GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemInt *, QStringLiteral("DefaultIntItem"));
+
+ QVERIFY(typeItem->isEqual(27));
+}
+
+void ConfigLoaderTest::passwordDefaultValue()
+{
+ GET_CONFIG_ITEM_VALUE(KConfigSkeleton::ItemPassword *, QStringLiteral("DefaultPasswordItem"));
+
+ QVERIFY(typeItem->isEqual(QString::fromLatin1("h4x.")));
+}
+
+void ConfigLoaderTest::pathDefaultValue()
+{
+ GET_CONFIG_ITEM_VALUE(KConfigSkeleton::ItemPath *, QStringLiteral("DefaultPathItem"));
+
+ QVERIFY(typeItem->isEqual(QString::fromLatin1("/dev/null")));
+}
+
+void ConfigLoaderTest::stringDefaultValue()
+{
+ GET_CONFIG_ITEM_VALUE(KConfigSkeleton::ItemString *, QStringLiteral("DefaultStringItem"));
+
+ QVERIFY(typeItem->isEqual(QString::fromLatin1("TestString")));
+}
+
+void ConfigLoaderTest::stringListDefaultValue()
+{
+ GET_CONFIG_ITEM_VALUE(KConfigSkeleton::ItemStringList *, QStringLiteral("DefaultStringListItem"));
+
+ // Create a string list with the expected values.
+ QStringList expected;
+ expected.append(QStringLiteral("One"));
+ expected.append(QStringLiteral("Two"));
+ expected.append(QStringLiteral("Three"));
+ expected.append(QStringLiteral("Four"));
+ expected.append(QStringLiteral("Five"));
+
+ QVERIFY(typeItem->isEqual(expected));
+}
+
+void ConfigLoaderTest::uintDefaultValue()
+{
+ GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemUInt *, QStringLiteral("DefaultUIntItem"));
+
+ QVERIFY(typeItem->isEqual(7U));
+}
+
+void ConfigLoaderTest::urlDefaultValue()
+{
+ GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemUrl *, QStringLiteral("DefaultUrlItem"));
+
+ QVERIFY(typeItem->isEqual(QUrl(QStringLiteral("http://kde.org"))));
+}
+
+void ConfigLoaderTest::doubleDefaultValue()
+{
+ GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemDouble *, QStringLiteral("DefaultDoubleItem"));
+
+ QVERIFY(typeItem->isEqual(13.37));
+}
+
+void ConfigLoaderTest::intListDefaultValue()
+{
+ GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemIntList *, QStringLiteral("DefaultIntListItem"));
+
+ // Create a int list with the expected values.
+ QList<int> expected;
+ expected.append(1);
+ expected.append(1);
+ expected.append(2);
+ expected.append(3);
+ expected.append(5);
+ expected.append(8);
+
+ QVERIFY(typeItem->isEqual(QVariant::fromValue(expected)));
+}
+
+void ConfigLoaderTest::intListEmptyDefaultValue()
+{
+ GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemIntList *, QStringLiteral("EmptyDefaultIntListItem"));
+
+ QVERIFY(typeItem->value().isEmpty());
+}
+
+void ConfigLoaderTest::longLongDefaultValue()
+{
+ GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemLongLong *, QStringLiteral("DefaultLongLongItem"));
+
+ QVERIFY(typeItem->isEqual(Q_INT64_C(-9211372036854775808)));
+}
+
+void ConfigLoaderTest::pointDefaultValue()
+{
+ GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemPoint *, QStringLiteral("DefaultPointItem"));
+
+ QVERIFY(typeItem->isEqual(QPoint(185, 857)));
+}
+
+void ConfigLoaderTest::pointFDefaultValue()
+{
+ GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemPointF *, QStringLiteral("DefaultPointFItem"));
+
+ QVERIFY(typeItem->isEqual(QPointF(185.5, 857.5)));
+}
+
+void ConfigLoaderTest::rectDefaultValue()
+{
+ GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemRect *, QStringLiteral("DefaultRectItem"));
+
+ // Create a new QRect with the expected value.
+ QRect expected;
+ expected.setCoords(3, 7, 951, 358);
+
+ QVERIFY(typeItem->isEqual(expected));
+}
+
+void ConfigLoaderTest::rectFDefaultValue()
+{
+ GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemRectF *, QStringLiteral("DefaultRectFItem"));
+
+ // Create a new QRectF with the expected value.
+ QRectF expected;
+ expected.setCoords(3.5, 7.5, 951.5, 358.5);
+
+ QVERIFY(typeItem->isEqual(expected));
+}
+
+void ConfigLoaderTest::sizeDefaultValue()
+{
+ GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemSize *, QStringLiteral("DefaultSizeItem"));
+
+ QVERIFY(typeItem->isEqual(QSize(640, 480)));
+}
+
+void ConfigLoaderTest::sizeFDefaultValue()
+{
+ GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemSizeF *, QStringLiteral("DefaultSizeFItem"));
+
+ QVERIFY(typeItem->isEqual(QSizeF(640.5, 480.5)));
+}
+
+void ConfigLoaderTest::ulongLongDefaultValue()
+{
+ GET_CONFIG_ITEM_VALUE(KCoreConfigSkeleton::ItemULongLong *, QStringLiteral("DefaultULongLongItem"));
+
+ QVERIFY(typeItem->isEqual(Q_UINT64_C(9223372036854775806)));
+}
+
+QTEST_MAIN(ConfigLoaderTest)
+
+#include "moc_kconfigloadertest.cpp"
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2010 Martin Blumenstingl <darklight.xdarklight@googlemail.com>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGLOADERTEST_H
+#define KCONFIGLOADERTEST_H
+
+#include <QTest>
+
+class KConfigLoader;
+
+class QFile;
+
+class ConfigLoaderTest : public QObject
+{
+ Q_OBJECT
+
+public Q_SLOTS:
+ void init();
+ void cleanup();
+
+private Q_SLOTS:
+ void boolDefaultValue();
+ void colorDefaultValue();
+ void dateTimeDefaultValue();
+ void enumDefaultValue();
+ void enumDefaultValueString();
+ void fontDefaultValue();
+ void intDefaultValue();
+ void passwordDefaultValue();
+ void pathDefaultValue();
+ void stringDefaultValue();
+ void stringListDefaultValue();
+ void uintDefaultValue();
+ void urlDefaultValue();
+ void doubleDefaultValue();
+ void intListEmptyDefaultValue();
+ void intListDefaultValue();
+ void longLongDefaultValue();
+ void pointDefaultValue();
+ void pointFDefaultValue();
+ void rectDefaultValue();
+ void rectFDefaultValue();
+ void sizeDefaultValue();
+ void sizeFDefaultValue();
+ void ulongLongDefaultValue();
+
+private:
+ KConfigLoader *cl;
+ QFile *configFile;
+};
+
+#endif
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile name="keystatusplasmoidrc"/>
+
+ <group name="kconfigloadertest">
+ <entry name="DefaultBoolItem" type="Bool">
+ <default>true</default>
+ </entry>
+ <entry name="DefaultColorItem" type="Color">
+ <default>#00FF00</default>
+ </entry>
+ <entry name="DefaultDateTimeItem" type="DateTime">
+ <default>Thu Sep 09 2010</default>
+ </entry>
+ <entry name="DefaultEnumItem" type="Enum">
+ <default>3</default>
+ <choice name="One" value="1" />
+ <choice name="Two" value="2" />
+ <choice name="Three" value="3" />
+ <choice name="Four" value="4" />
+ </entry>
+ <entry name="DefaultEnumItemString" type="Enum">
+ <default>Coconuts</default>
+ <choice name="Apples" />
+ <choice name="Oranges" />
+ <choice name="Coconuts" />
+ <choice name="Grapes" />
+ </entry>
+ <entry name="DefaultFontItem" type="Font">
+ <default>DejaVu Sans</default>
+ </entry>
+ <entry name="DefaultIntItem" type="Int">
+ <default>27</default>
+ </entry>
+ <entry name="DefaultPasswordItem" type="Password">
+ <default>h4x.</default>
+ </entry>
+ <entry name="DefaultPathItem" type="Path">
+ <default>/dev/null</default>
+ </entry>
+ <entry name="DefaultStringItem" type="String">
+ <default>TestString</default>
+ </entry>
+ <entry name="DefaultStringListItem" type="StringList">
+ <default>One,Two,Three,Four,Five</default>
+ </entry>
+ <entry name="DefaultUIntItem" type="UInt">
+ <default>7</default>
+ </entry>
+ <entry name="DefaultUrlItem" type="Url">
+ <default>http://kde.org</default>
+ </entry>
+ <entry name="DefaultDoubleItem" type="Double">
+ <default>13.37</default>
+ </entry>
+ <entry name="EmptyDefaultIntListItem" type="IntList">
+ <default></default>
+ </entry>
+ <entry name="DefaultIntListItem" type="IntList">
+ <default>1,1,2,3,5,8</default>
+ </entry>
+ <entry name="DefaultLongLongItem" type="LongLong">
+ <default>-9211372036854775808</default>
+ </entry>
+ <entry name="DefaultPointItem" type="Point">
+ <default>185,857</default>
+ </entry>
+ <entry name="DefaultPointFItem" type="PointF">
+ <default>185.5,857.5</default>
+ </entry>
+ <entry name="DefaultRectItem" type="Rect">
+ <default>3,7,951,358</default>
+ </entry>
+ <entry name="DefaultRectFItem" type="RectF">
+ <default>3.5,7.5,951.5,358.5</default>
+ </entry>
+ <entry name="DefaultSizeItem" type="Size">
+ <default>640,480</default>
+ </entry>
+ <entry name="DefaultSizeFItem" type="SizeF">
+ <default>640.5,480.5</default>
+ </entry>
+ <entry name="DefaultULongLongItem" type="ULongLong">
+ <default>9223372036854775806</default>
+ </entry>
+ </group>
+</kcfg>
--- /dev/null
+/* This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2011 David Faure <faure@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include <QObject>
+
+#include <QStandardPaths>
+#include <QTest>
+#include <ksharedconfig.h>
+
+#include <kconfig.h>
+#include <kconfiggroup.h>
+
+class KConfigNoKdeHomeTest : public QObject
+{
+ Q_OBJECT
+
+private Q_SLOTS:
+ void testNoKdeHome();
+};
+
+void KConfigNoKdeHomeTest::testNoKdeHome()
+{
+ QStandardPaths::setTestModeEnabled(true);
+ QString configPath = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation);
+ QDir configDir(configPath);
+ QVERIFY(configDir.removeRecursively());
+ QVERIFY(!QFile::exists(configPath));
+
+ // Do what kf5-config does, and ensure the config directory doesn't get created (#233892)
+ QVERIFY(!QFile::exists(configPath));
+ KSharedConfig::openConfig();
+ QVERIFY(!QFile::exists(configPath));
+
+ // Now try to actually save something, see if it works.
+ KConfigGroup group(KSharedConfig::openConfig(), QStringLiteral("Group"));
+ group.writeEntry("Key", "Value");
+ group.sync();
+ QVERIFY(QFile::exists(configPath));
+ const QString rcFile = QCoreApplication::applicationName() + QStringLiteral("rc");
+ QVERIFY(QFile::exists(configPath + QLatin1Char('/') + rcFile));
+
+ // Cleanup
+ configDir.removeRecursively();
+}
+
+QTEST_MAIN(KConfigNoKdeHomeTest)
+
+#include "kconfignokdehometest.moc"
--- /dev/null
+/* This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2006 Olivier Goffart <ogoffart at kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfigskeletontest.h"
+
+#include <QFont>
+#include <QtTestGui>
+#include <kconfig.h>
+
+QTEST_MAIN(KConfigSkeletonTest)
+
+// clazy:excludeall=non-pod-global-static
+
+static const bool s_default_setting1{false};
+static const QColor s_default_setting2{1, 2, 3};
+static const QString s_default_setting4{QStringLiteral("Hello World")};
+
+static const bool s_write_setting1{true};
+static const QColor s_write_setting2{3, 2, 1};
+static const QString s_write_setting4{QStringLiteral("KDE")};
+
+static QFont defaultSetting3()
+{
+ return QFont{QStringLiteral("helvetica"), 12};
+}
+
+static QFont writeSettings3()
+{
+ return QFont{QStringLiteral("helvetica"), 14};
+}
+
+void KConfigSkeletonTest::initTestCase()
+{
+ QStandardPaths::setTestModeEnabled(true);
+}
+
+void KConfigSkeletonTest::init()
+{
+ QFile::remove(QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + QLatin1String{"/kconfigskeletontestrc"});
+ s = new KConfigSkeleton(QStringLiteral("kconfigskeletontestrc"));
+ s->setCurrentGroup(QStringLiteral("MyGroup"));
+ itemBool = s->addItemBool(QStringLiteral("MySetting1"), mMyBool, s_default_setting1);
+ s->addItemColor(QStringLiteral("MySetting2"), mMyColor, s_default_setting2);
+
+ s->setCurrentGroup(QStringLiteral("MyOtherGroup"));
+ s->addItemFont(QStringLiteral("MySetting3"), mMyFont, defaultSetting3());
+ s->addItemString(QStringLiteral("MySetting4"), mMyString, s_default_setting4);
+
+ QCOMPARE(mMyBool, s_default_setting1);
+ QCOMPARE(mMyColor, s_default_setting2);
+ QCOMPARE(mMyFont, defaultSetting3());
+ QCOMPARE(mMyString, s_default_setting4);
+
+ QVERIFY(s->isDefaults());
+ QVERIFY(!s->isSaveNeeded());
+}
+
+void KConfigSkeletonTest::cleanup()
+{
+ delete s;
+}
+
+void KConfigSkeletonTest::testSimple()
+{
+ mMyBool = s_write_setting1;
+ mMyColor = s_write_setting2;
+ mMyFont = writeSettings3();
+ mMyString = s_write_setting4;
+
+ QVERIFY(s->isSaveNeeded());
+ QVERIFY(!s->isDefaults());
+
+ s->save();
+
+ QVERIFY(!s->isSaveNeeded());
+ QVERIFY(!s->isDefaults());
+
+ mMyBool = false;
+ mMyColor = QColor();
+ mMyString.clear();
+ mMyFont = QFont();
+
+ QVERIFY(s->isSaveNeeded());
+ QVERIFY(!s->isDefaults());
+
+ s->read();
+
+ QVERIFY(!s->isSaveNeeded());
+ QVERIFY(!s->isDefaults());
+
+ QCOMPARE(mMyBool, s_write_setting1);
+ QCOMPARE(mMyColor, s_write_setting2);
+ QCOMPARE(mMyFont, writeSettings3());
+ QCOMPARE(mMyString, s_write_setting4);
+}
+
+void KConfigSkeletonTest::testRemoveItem()
+{
+ QVERIFY(s->findItem(QStringLiteral("MySetting1")));
+ s->removeItem(QStringLiteral("MySetting1"));
+ QVERIFY(!s->findItem(QStringLiteral("MySetting1")));
+}
+
+void KConfigSkeletonTest::testClear()
+{
+ QVERIFY(s->findItem(QStringLiteral("MySetting2")));
+ QVERIFY(s->findItem(QStringLiteral("MySetting3")));
+ QVERIFY(s->findItem(QStringLiteral("MySetting4")));
+
+ s->clearItems();
+
+ QVERIFY(!s->findItem(QStringLiteral("MySetting2")));
+ QVERIFY(!s->findItem(QStringLiteral("MySetting3")));
+ QVERIFY(!s->findItem(QStringLiteral("MySetting4")));
+}
+
+void KConfigSkeletonTest::testDefaults()
+{
+ mMyBool = s_write_setting1;
+ mMyColor = s_write_setting2;
+ mMyFont = writeSettings3();
+ mMyString = s_write_setting4;
+
+ QVERIFY(s->isSaveNeeded());
+ QVERIFY(!s->isDefaults());
+
+ s->save();
+
+ QVERIFY(!s->isSaveNeeded());
+ QVERIFY(!s->isDefaults());
+
+ s->setDefaults();
+
+ QVERIFY(s->isSaveNeeded());
+ QVERIFY(s->isDefaults());
+
+ QCOMPARE(mMyBool, s_default_setting1);
+ QCOMPARE(mMyColor, s_default_setting2);
+ QCOMPARE(mMyFont, defaultSetting3());
+ QCOMPARE(mMyString, s_default_setting4);
+
+ s->save();
+
+ QVERIFY(!s->isSaveNeeded());
+ QVERIFY(s->isDefaults());
+}
+
+void KConfigSkeletonTest::testKConfigDirty()
+{
+ itemBool->setValue(true);
+ itemBool->writeConfig(s->sharedConfig().data());
+ QVERIFY(s->sharedConfig()->isDirty());
+ s->save();
+ QVERIFY(!s->sharedConfig()->isDirty());
+
+ itemBool->setValue(false);
+ itemBool->writeConfig(s->sharedConfig().data());
+ QVERIFY(s->sharedConfig()->isDirty());
+ s->save();
+ QVERIFY(!s->sharedConfig()->isDirty());
+}
+
+void KConfigSkeletonTest::testSaveRead()
+{
+ itemBool->setValue(true);
+ s->save();
+
+ itemBool->setValue(false);
+ s->save();
+
+ mMyBool = true;
+
+ s->read();
+ QCOMPARE(mMyBool, false);
+}
+
+#include "moc_kconfigskeletontest.cpp"
--- /dev/null
+/* This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2006 Olivier Goffart <ogoffart at kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+#ifndef KCONFIGSKELETONTEST_H
+#define KCONFIGSKELETONTEST_H
+
+#include <kconfigskeleton.h>
+
+class KConfigSkeletonTest : public QObject
+{
+ Q_OBJECT
+public:
+private Q_SLOTS:
+ void initTestCase();
+ void init();
+ void cleanup();
+ void testSimple();
+ void testDefaults();
+ void testRemoveItem();
+ void testClear();
+ void testKConfigDirty();
+ void testSaveRead();
+
+private:
+ KConfigSkeleton *s;
+ KConfigSkeleton::ItemBool *itemBool;
+ bool mMyBool;
+ QColor mMyColor;
+ QFont mMyFont;
+ QString mMyString;
+};
+
+#endif
--- /dev/null
+/* This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 1997 Matthias Kalle Dalheimer <kalle@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfigtest.h"
+#include "helper.h"
+
+#include "config-kconfig.h"
+
+#include <QSignalSpy>
+#include <QStandardPaths>
+#include <QTemporaryFile>
+#include <QTest>
+#include <kdesktopfile.h>
+#include <qtemporarydir.h>
+
+#include <kauthorized.h>
+#include <kconfiggroup.h>
+#include <kconfigwatcher.h>
+#include <ksharedconfig.h>
+
+#ifdef Q_OS_UNIX
+#include <utime.h>
+#endif
+#ifndef Q_OS_WIN
+#include <unistd.h> // getuid
+#endif
+
+KCONFIGGROUP_DECLARE_ENUM_QOBJECT(KConfigTest, Testing)
+KCONFIGGROUP_DECLARE_FLAGS_QOBJECT(KConfigTest, Flags)
+
+QTEST_MAIN(KConfigTest)
+
+Q_DECLARE_METATYPE(KConfigGroup)
+
+static QString homePath()
+{
+#ifdef Q_OS_WIN
+ return QDir::homePath();
+#else
+ // Don't use QDir::homePath() on Unix, it removes any trailing slash, while KConfig uses $HOME.
+ return QString::fromLocal8Bit(qgetenv("HOME"));
+#endif
+}
+
+// clazy:excludeall=non-pod-global-static
+
+static const bool s_bool_entry1 = true;
+static const bool s_bool_entry2 = false;
+
+static const QString s_string_entry1(QStringLiteral("hello"));
+static const QString s_string_entry2(QStringLiteral(" hello"));
+static const QString s_string_entry3(QStringLiteral("hello "));
+static const QString s_string_entry4(QStringLiteral(" hello "));
+static const QString s_string_entry5(QStringLiteral(" "));
+static const QString s_string_entry6{};
+
+static const char s_utf8bit_entry[] = "Hello äöü";
+static const QString s_translated_string_entry1{QStringLiteral("bonjour")};
+static const QByteArray s_bytearray_entry{"\x00\xff\x7f\x3c abc\x00\x00", 10};
+static const char s_escapekey[] = " []\0017[]==]";
+static const char s_escape_entry[] = "[]\170[]]=3=]\\] ";
+static const double s_double_entry{123456.78912345};
+static const float s_float_entry{123.567f};
+static const QPoint s_point_entry{4351, 1235};
+static const QSize s_size_entry{10, 20};
+static const QRect s_rect_entry{10, 23, 5321, 13};
+static const QDateTime s_date_time_entry{QDate{2002, 06, 23}, QTime{12, 55, 40}};
+static const QDateTime s_date_time_with_ms_entry{QDate{2002, 06, 23}, QTime{12, 55, 40, 532}};
+static const QStringList s_stringlist_entry{QStringLiteral("Hello,"), QStringLiteral("World")};
+static const QStringList s_stringlist_empty_entry{};
+static const QStringList s_stringlist_just_empty_element{QString{}};
+static const QStringList s_stringlist_empty_trailing_element{QStringLiteral("Hi"), QString{}};
+static const QStringList s_stringlist_escape_odd_entry{QStringLiteral("Hello\\\\\\"), QStringLiteral("World")};
+static const QStringList s_stringlist_escape_even_entry{QStringLiteral("Hello\\\\\\\\"), QStringLiteral("World")};
+static const QStringList s_stringlist_escape_comma_entry{QStringLiteral("Hel\\\\\\,\\\\,\\,\\\\\\\\,lo"), QStringLiteral("World")};
+static const QList<int> s_int_listentry1{1, 2, 3, 4};
+static const QList<QByteArray> s_bytearray_list_entry1{"", "1,2", "end"};
+static const QVariantList s_variantlist_entry{true, false, QStringLiteral("joe"), 10023};
+static const QVariantList s_variantlist_entry2{s_point_entry, s_size_entry};
+
+static const QString s_homepath{homePath() + QLatin1String{"/foo"}};
+static const QString s_homepath_escape{homePath() + QLatin1String("/foo/$HOME")};
+static const QString s_canonical_homepath{QFileInfo(homePath()).canonicalFilePath() + QLatin1String("/foo")};
+static const QString s_dollargroup{QStringLiteral("$i")};
+static const QString s_test_subdir{QStringLiteral("kconfigtest_subdir/")};
+static const QString s_kconfig_test_subdir(s_test_subdir + QLatin1String("kconfigtest"));
+static const QString s_kconfig_test_illegal_object_path(s_test_subdir + QLatin1String("kconfig-test"));
+
+#ifndef Q_OS_WIN
+void initLocale()
+{
+ setenv("LC_ALL", "en_US.utf-8", 1);
+ setenv("TZ", "UTC", 1);
+}
+
+Q_CONSTRUCTOR_FUNCTION(initLocale)
+#endif
+
+void KConfigTest::initTestCase()
+{
+ // ensure we don't use files in the real config directory
+ QStandardPaths::setTestModeEnabled(true);
+
+ qRegisterMetaType<KConfigGroup>();
+
+ // These two need to be assigned here, after setTestModeEnabled(true), and before cleanupTestCase()
+ m_testConfigDir = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + QLatin1Char('/') + s_test_subdir;
+ m_kdeGlobalsPath = QDir::cleanPath(m_testConfigDir + QLatin1String("..")) + QLatin1String("/kdeglobals");
+
+ // to make sure all files from a previous failed run are deleted
+ cleanupTestCase();
+
+ KSharedConfigPtr mainConfig = KSharedConfig::openConfig();
+ mainConfig->group(QStringLiteral("Main")).writeEntry("Key", "Value");
+ mainConfig->sync();
+
+ KConfig sc(s_kconfig_test_subdir);
+
+ KConfigGroup cg(&sc, QStringLiteral("AAA")); // deleted later by testDelete
+ cg.writeEntry("stringEntry1", s_string_entry1, KConfig::Persistent | KConfig::Global);
+
+ cg = KConfigGroup(&sc, QStringLiteral("GlobalGroup"));
+ cg.writeEntry("globalEntry", s_string_entry1, KConfig::Persistent | KConfig::Global);
+ cg.deleteEntry("globalEntry2", KConfig::Global);
+
+ cg = KConfigGroup(&sc, QStringLiteral("LocalGroupToBeDeleted")); // deleted later by testDelete
+ cg.writeEntry("stringEntry1", s_string_entry1);
+
+ cg = KConfigGroup(&sc, QStringLiteral("Hello"));
+ cg.writeEntry("boolEntry1", s_bool_entry1);
+ cg.writeEntry("boolEntry2", s_bool_entry2);
+
+ QByteArray data(s_utf8bit_entry);
+ QCOMPARE(data.size(), 12); // the source file is in utf8
+ QCOMPARE(QString::fromUtf8(data).length(), 9);
+ cg.writeEntry("Test", data);
+ cg.writeEntry("bytearrayEntry", s_bytearray_entry);
+ cg.writeEntry(s_escapekey, QString::fromLatin1(s_escape_entry));
+ cg.writeEntry("emptyEntry", "");
+ cg.writeEntry("stringEntry1", s_string_entry1);
+ cg.writeEntry("stringEntry2", s_string_entry2);
+ cg.writeEntry("stringEntry3", s_string_entry3);
+ cg.writeEntry("stringEntry4", s_string_entry4);
+ cg.writeEntry("stringEntry5", s_string_entry5);
+ cg.writeEntry("urlEntry1", QUrl(QStringLiteral("http://qt-project.org")));
+ cg.writeEntry("keywith=equalsign", s_string_entry1);
+ cg.deleteEntry("stringEntry5");
+ cg.deleteEntry("stringEntry6"); // deleting a nonexistent entry
+ cg.writeEntry("byteArrayEntry1", s_string_entry1.toLatin1(), KConfig::Global | KConfig::Persistent);
+ cg.writeEntry("doubleEntry1", s_double_entry);
+ cg.writeEntry("floatEntry1", s_float_entry);
+
+ sc.deleteGroup(QStringLiteral("deleteMe")); // deleting a nonexistent group
+
+ cg = KConfigGroup(&sc, QStringLiteral("Complex Types"));
+ cg.writeEntry("rectEntry", s_rect_entry);
+ cg.writeEntry("pointEntry", s_point_entry);
+ cg.writeEntry("sizeEntry", s_size_entry);
+ cg.writeEntry("dateTimeEntry", s_date_time_entry);
+ cg.writeEntry("dateEntry", s_date_time_entry.date());
+ cg.writeEntry("dateTimeWithMSEntry", s_date_time_with_ms_entry);
+
+ KConfigGroup ct = cg;
+ cg = KConfigGroup(&ct, QStringLiteral("Nested Group 1"));
+ cg.writeEntry("stringentry1", s_string_entry1);
+
+ cg = KConfigGroup(&ct, QStringLiteral("Nested Group 2"));
+ cg.writeEntry("stringEntry2", s_string_entry2);
+
+ cg = KConfigGroup(&cg, QStringLiteral("Nested Group 2.1"));
+ cg.writeEntry("stringEntry3", s_string_entry3);
+
+ cg = KConfigGroup(&ct, QStringLiteral("Nested Group 3"));
+ cg.writeEntry("stringEntry3", s_string_entry3);
+
+ cg = KConfigGroup(&sc, QStringLiteral("List Types"));
+ cg.writeEntry("listOfIntsEntry1", s_int_listentry1);
+ cg.writeEntry("listOfByteArraysEntry1", s_bytearray_list_entry1);
+ cg.writeEntry("stringListEntry", s_stringlist_entry);
+ cg.writeEntry("stringListEmptyEntry", s_stringlist_empty_entry);
+ cg.writeEntry("stringListJustEmptyElement", s_stringlist_just_empty_element);
+ cg.writeEntry("stringListEmptyTrailingElement", s_stringlist_empty_trailing_element);
+ cg.writeEntry("stringListEscapeOddEntry", s_stringlist_escape_odd_entry);
+ cg.writeEntry("stringListEscapeEvenEntry", s_stringlist_escape_even_entry);
+ cg.writeEntry("stringListEscapeCommaEntry", s_stringlist_escape_comma_entry);
+ cg.writeEntry("variantListEntry", s_variantlist_entry);
+
+ cg = KConfigGroup(&sc, QStringLiteral("Path Type"));
+ cg.writePathEntry("homepath", s_homepath);
+ cg.writePathEntry("homepathescape", s_homepath_escape);
+ cg.writePathEntry("canonicalHomePath", s_canonical_homepath);
+
+ cg = KConfigGroup(&sc, QStringLiteral("Enum Types"));
+#if defined(_MSC_VER) && _MSC_VER == 1600
+ cg.writeEntry("dummy", 42);
+#else
+ // Visual C++ 2010 throws an Internal Compiler Error here
+ cg.writeEntry("enum-10", Tens);
+ cg.writeEntry("enum-100", Hundreds);
+ cg.writeEntry("flags-bit0", Flags(bit0));
+ cg.writeEntry("flags-bit0-bit1", Flags(bit0 | bit1));
+#endif
+
+ cg = KConfigGroup(&sc, QStringLiteral("ParentGroup"));
+ KConfigGroup cg1(&cg, QStringLiteral("SubGroup1"));
+ cg1.writeEntry("somestring", "somevalue");
+ cg.writeEntry("parentgrpstring", "somevalue");
+ KConfigGroup cg2(&cg, QStringLiteral("SubGroup2"));
+ cg2.writeEntry("substring", "somevalue");
+ KConfigGroup cg3(&cg, QStringLiteral("SubGroup/3"));
+ cg3.writeEntry("sub3string", "somevalue");
+
+ QVERIFY(sc.isDirty());
+ QVERIFY(sc.sync());
+ QVERIFY(!sc.isDirty());
+
+ QVERIFY2(QFile::exists(m_testConfigDir + QLatin1String("/kconfigtest")), qPrintable(m_testConfigDir + QLatin1String("/kconfigtest must exist")));
+ QVERIFY2(QFile::exists(m_kdeGlobalsPath), qPrintable(m_kdeGlobalsPath + QStringLiteral(" must exist")));
+
+ KConfig sc1(s_test_subdir + QLatin1String("kdebugrc"), KConfig::SimpleConfig);
+ KConfigGroup sg0(&sc1, QStringLiteral("0"));
+ sg0.writeEntry("AbortFatal", false);
+ sg0.writeEntry("WarnOutput", 0);
+ sg0.writeEntry("FatalOutput", 0);
+ QVERIFY(sc1.sync());
+
+ // Setup stuff to test KConfig::addConfigSources()
+ KConfig devcfg(s_test_subdir + QLatin1String("specificrc"));
+ KConfigGroup devonlygrp(&devcfg, QStringLiteral("Specific Only Group"));
+ devonlygrp.writeEntry("ExistingEntry", "DevValue");
+ KConfigGroup devandbasegrp(&devcfg, QStringLiteral("Shared Group"));
+ devandbasegrp.writeEntry("SomeSharedEntry", "DevValue");
+ devandbasegrp.writeEntry("SomeSpecificOnlyEntry", "DevValue");
+ QVERIFY(devcfg.sync());
+ KConfig basecfg(s_test_subdir + QLatin1String("baserc"));
+ KConfigGroup basegrp(&basecfg, QStringLiteral("Base Only Group"));
+ basegrp.writeEntry("ExistingEntry", "BaseValue");
+ KConfigGroup baseanddevgrp(&basecfg, QStringLiteral("Shared Group"));
+ baseanddevgrp.writeEntry("SomeSharedEntry", "BaseValue");
+ baseanddevgrp.writeEntry("SomeBaseOnlyEntry", "BaseValue");
+ QVERIFY(basecfg.sync());
+
+ KConfig gecfg(s_test_subdir + QLatin1String("groupescapetest"), KConfig::SimpleConfig);
+ cg = KConfigGroup(&gecfg, s_dollargroup);
+ cg.writeEntry("entry", "doesntmatter");
+}
+
+void KConfigTest::cleanupTestCase()
+{
+ // ensure we don't delete the real directory
+ QDir localConfig(m_testConfigDir);
+ // qDebug() << "Erasing" << localConfig;
+ if (localConfig.exists()) {
+ QVERIFY(localConfig.removeRecursively());
+ }
+ QVERIFY(!localConfig.exists());
+ if (QFile::exists(m_kdeGlobalsPath)) {
+ QVERIFY(QFile::remove(m_kdeGlobalsPath));
+ }
+}
+
+static QList<QByteArray> readLinesFrom(const QString &path)
+{
+ QFile file(path);
+ const bool opened = file.open(QIODevice::ReadOnly | QIODevice::Text);
+ QList<QByteArray> lines;
+ if (!opened) {
+ qWarning() << "Failed to open" << path;
+ return lines;
+ }
+ QByteArray line;
+ do {
+ line = file.readLine();
+ if (!line.isEmpty()) {
+ lines.append(line);
+ }
+ } while (!line.isEmpty());
+ return lines;
+}
+
+static const QString s_defaultArg = s_test_subdir + QLatin1String("kconfigtest");
+static QList<QByteArray> readLines(const QString &fileName = s_defaultArg)
+{
+ const QString path = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation);
+ Q_ASSERT(!path.isEmpty());
+ return readLinesFrom(path + QLatin1Char('/') + fileName);
+}
+
+// see also testDefaults, which tests reverting with a defaults (global) file available
+void KConfigTest::testDirtyAfterRevert()
+{
+ KConfig sc(s_test_subdir + QLatin1String("kconfigtest_revert"));
+
+ KConfigGroup cg(&sc, QStringLiteral("Hello"));
+ cg.revertToDefault("does_not_exist");
+ QVERIFY(!sc.isDirty());
+ cg.writeEntry("Test", "Correct");
+ QVERIFY(sc.isDirty());
+ sc.sync();
+ QVERIFY(!sc.isDirty());
+
+ cg.revertToDefault("Test");
+ QVERIFY(sc.isDirty());
+ QVERIFY(sc.sync());
+ QVERIFY(!sc.isDirty());
+
+ cg.revertToDefault("Test");
+ QVERIFY(!sc.isDirty());
+}
+
+void KConfigTest::testRevertAllEntries()
+{
+ // this tests the case were we revert (delete) all entries in a file,
+ // leaving a blank file
+ {
+ KConfig sc(s_test_subdir + QLatin1String("konfigtest2"), KConfig::SimpleConfig);
+ KConfigGroup cg(&sc, QStringLiteral("Hello"));
+ cg.writeEntry("Test", "Correct");
+ }
+
+ {
+ KConfig sc(s_test_subdir + QLatin1String("konfigtest2"), KConfig::SimpleConfig);
+ KConfigGroup cg(&sc, QStringLiteral("Hello"));
+ QCOMPARE(cg.readEntry("Test", "Default"), QStringLiteral("Correct"));
+ cg.revertToDefault("Test");
+ }
+
+ KConfig sc(s_test_subdir + QLatin1String("konfigtest2"), KConfig::SimpleConfig);
+ KConfigGroup cg(&sc, QStringLiteral("Hello"));
+ QCOMPARE(cg.readEntry("Test", "Default"), QStringLiteral("Default"));
+}
+
+void KConfigTest::testSimple()
+{
+ // kdeglobals (which was created in initTestCase) must be found this way:
+ const QStringList kdeglobals = QStandardPaths::locateAll(QStandardPaths::GenericConfigLocation, QStringLiteral("kdeglobals"));
+ QVERIFY(!kdeglobals.isEmpty());
+
+ KConfig sc2(s_kconfig_test_subdir);
+ QCOMPARE(sc2.name(), s_test_subdir + QLatin1String{"kconfigtest"});
+
+ // make sure groupList() isn't returning something it shouldn't
+ const QStringList lstGroup = sc2.groupList();
+ for (const QString &group : lstGroup) {
+ QVERIFY(!group.isEmpty() && group != QLatin1String("<default>"));
+ QVERIFY(!group.contains(QChar(0x1d)));
+ }
+
+ KConfigGroup sc3(&sc2, QStringLiteral("GlobalGroup"));
+
+ QVERIFY(sc3.hasKey("globalEntry")); // from kdeglobals
+ QVERIFY(!sc3.isEntryImmutable("globalEntry"));
+ QCOMPARE(sc3.readEntry("globalEntry"), s_string_entry1);
+
+ QVERIFY(!sc3.hasKey("globalEntry2"));
+ QCOMPARE(sc3.readEntry("globalEntry2", QStringLiteral("bla")), QStringLiteral("bla"));
+
+ QVERIFY(!sc3.hasDefault("globalEntry"));
+
+ sc3 = KConfigGroup(&sc2, QStringLiteral("Hello"));
+ QCOMPARE(sc3.readEntry("Test", QByteArray()), QByteArray(s_utf8bit_entry));
+ QCOMPARE(sc3.readEntry("bytearrayEntry", QByteArray()), s_bytearray_entry);
+ QCOMPARE(sc3.readEntry(s_escapekey), QString::fromLatin1(s_escape_entry));
+ QCOMPARE(sc3.readEntry("Test", QString{}), QString::fromUtf8(s_utf8bit_entry));
+ QCOMPARE(sc3.readEntry("emptyEntry" /*, QString("Fietsbel")*/), QLatin1String(""));
+ QCOMPARE(sc3.readEntry("emptyEntry", QStringLiteral("Fietsbel")).isEmpty(), true);
+ QCOMPARE(sc3.readEntry("stringEntry1"), s_string_entry1);
+ QCOMPARE(sc3.readEntry("stringEntry2"), s_string_entry2);
+ QCOMPARE(sc3.readEntry("stringEntry3"), s_string_entry3);
+ QCOMPARE(sc3.readEntry("stringEntry4"), s_string_entry4);
+ QVERIFY(!sc3.hasKey("stringEntry5"));
+ QCOMPARE(sc3.readEntry("stringEntry5", QStringLiteral("test")), QStringLiteral("test"));
+ QVERIFY(!sc3.hasKey("stringEntry6"));
+ QCOMPARE(sc3.readEntry("stringEntry6", QStringLiteral("foo")), QStringLiteral("foo"));
+ QCOMPARE(sc3.readEntry("urlEntry1", QUrl{}), QUrl(QStringLiteral("http://qt-project.org")));
+ QCOMPARE(sc3.readEntry("boolEntry1", s_bool_entry1), s_bool_entry1);
+ QCOMPARE(sc3.readEntry("boolEntry2", false), s_bool_entry2);
+ QCOMPARE(sc3.readEntry("keywith=equalsign", QStringLiteral("wrong")), s_string_entry1);
+ QCOMPARE(sc3.readEntry("byteArrayEntry1", QByteArray{}), s_string_entry1.toLatin1());
+ QCOMPARE(sc3.readEntry("doubleEntry1", 0.0), s_double_entry);
+ QCOMPARE(sc3.readEntry("floatEntry1", 0.0f), s_float_entry);
+}
+
+void KConfigTest::testDefaults()
+{
+ KConfig config(s_test_subdir + QLatin1String("defaulttest"), KConfig::NoGlobals);
+ const QString defaultsFile = s_test_subdir + QLatin1String("defaulttest.defaults");
+ KConfig defaults(defaultsFile, KConfig::SimpleConfig);
+ const QString defaultsFilePath = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + QLatin1Char('/') + defaultsFile;
+
+ const QString Default(QStringLiteral("Default"));
+ const QString NotDefault(QStringLiteral("Not Default"));
+ const QString Value1(s_string_entry1);
+ const QString Value2(s_string_entry2);
+
+ KConfigGroup group = defaults.group(QStringLiteral("any group"));
+ group.writeEntry("entry1", Default);
+ QVERIFY(group.sync());
+
+ group = config.group(QStringLiteral("any group"));
+ group.writeEntry("entry1", Value1);
+ group.writeEntry("entry2", Value2);
+ QVERIFY(group.sync());
+
+ config.addConfigSources(QStringList{defaultsFilePath});
+
+ config.setReadDefaults(true);
+ QCOMPARE(group.readEntry("entry1", QString()), Default);
+ QCOMPARE(group.readEntry("entry2", NotDefault), NotDefault); // no default for entry2
+
+ config.setReadDefaults(false);
+ QCOMPARE(group.readEntry("entry1", Default), Value1);
+ QCOMPARE(group.readEntry("entry2", NotDefault), Value2);
+
+ group.revertToDefault("entry1");
+ QCOMPARE(group.readEntry("entry1", QString()), Default);
+ group.revertToDefault("entry2");
+ QCOMPARE(group.readEntry("entry2", QString()), QString());
+
+ // TODO test reverting localized entries
+
+ Q_ASSERT(config.isDirty());
+ group.sync();
+
+ // Check that everything is OK on disk, too
+ KConfig reader(s_test_subdir + QLatin1String("defaulttest"), KConfig::NoGlobals);
+ reader.addConfigSources(QStringList{defaultsFilePath});
+ KConfigGroup readerGroup = reader.group(QStringLiteral("any group"));
+ QCOMPARE(readerGroup.readEntry("entry1", QString()), Default);
+ QCOMPARE(readerGroup.readEntry("entry2", QString()), QString());
+}
+
+void KConfigTest::testLocale()
+{
+ KConfig config(s_test_subdir + QLatin1String("kconfigtest.locales"), KConfig::SimpleConfig);
+ const QString Translated(s_translated_string_entry1);
+ const QString Untranslated(s_string_entry1);
+
+ KConfigGroup group = config.group(QStringLiteral("Hello"));
+ group.writeEntry("stringEntry1", Untranslated);
+ config.setLocale(QStringLiteral("fr"));
+ group.writeEntry("stringEntry1", Translated, KConfig::Localized | KConfig::Persistent);
+ QVERIFY(config.sync());
+
+ QCOMPARE(group.readEntry("stringEntry1", QString()), Translated);
+ QCOMPARE(group.readEntryUntranslated("stringEntry1"), Untranslated);
+
+ config.setLocale(QStringLiteral("C")); // strings written in the "C" locale are written as nonlocalized
+ group.writeEntry("stringEntry1", Untranslated, KConfig::Localized | KConfig::Persistent);
+ QVERIFY(config.sync());
+
+ QCOMPARE(group.readEntry("stringEntry1", QString()), Untranslated);
+}
+
+void KConfigTest::testEncoding()
+{
+ const QString groupstr = QString::fromUtf8("UTF-8:\xc3\xb6l");
+
+ const QString path = s_test_subdir + QLatin1String("kconfigtestencodings");
+ KConfig c(path);
+ KConfigGroup cg(&c, groupstr);
+ cg.writeEntry("key", "value");
+ QVERIFY(c.sync());
+
+ const QList<QByteArray> lines = readLines(path);
+ QCOMPARE(lines.count(), 2);
+ QCOMPARE(lines.first(), QByteArray("[UTF-8:\xc3\xb6l]\n"));
+
+ KConfig c2(path);
+ KConfigGroup cg2(&c2, groupstr);
+ QCOMPARE(cg2.readEntry("key"), QStringLiteral("value"));
+
+ QVERIFY(c2.groupList().contains(groupstr));
+}
+
+void KConfigTest::testLists()
+{
+ KConfig sc2(s_kconfig_test_subdir);
+ KConfigGroup sc3(&sc2, QStringLiteral("List Types"));
+
+ QCOMPARE(sc3.readEntry("stringListEntry", QStringList{}), s_stringlist_entry);
+
+ QCOMPARE(sc3.readEntry(QStringLiteral("stringListEmptyEntry"), QStringList(QStringLiteral("wrong"))), s_stringlist_empty_entry);
+
+ QCOMPARE(sc3.readEntry(QStringLiteral("stringListJustEmptyElement"), QStringList()), s_stringlist_just_empty_element);
+
+ QCOMPARE(sc3.readEntry(QStringLiteral("stringListEmptyTrailingElement"), QStringList()), s_stringlist_empty_trailing_element);
+
+ QCOMPARE(sc3.readEntry(QStringLiteral("stringListEscapeOddEntry"), QStringList()), s_stringlist_escape_odd_entry);
+
+ QCOMPARE(sc3.readEntry(QStringLiteral("stringListEscapeEvenEntry"), QStringList()), s_stringlist_escape_even_entry);
+
+ QCOMPARE(sc3.readEntry(QStringLiteral("stringListEscapeCommaEntry"), QStringList()), s_stringlist_escape_comma_entry);
+
+ QCOMPARE(sc3.readEntry("listOfIntsEntry1"), QString::fromLatin1("1,2,3,4"));
+ QList<int> expectedIntList = s_int_listentry1;
+ QVERIFY(sc3.readEntry("listOfIntsEntry1", QList<int>()) == expectedIntList);
+
+ QCOMPARE(QVariant(sc3.readEntry("variantListEntry", s_variantlist_entry)).toStringList(), QVariant(s_variantlist_entry).toStringList());
+
+ QCOMPARE(sc3.readEntry("listOfByteArraysEntry1", QList<QByteArray>()), s_bytearray_list_entry1);
+}
+
+void KConfigTest::testPath()
+{
+ KConfig sc2(s_kconfig_test_subdir);
+ KConfigGroup sc3(&sc2, QStringLiteral("Path Type"));
+ QCOMPARE(sc3.readPathEntry(QStringLiteral("homepath"), QString{}), s_homepath);
+ QCOMPARE(sc3.readPathEntry(QStringLiteral("homepathescape"), QString{}), s_homepath_escape);
+ QCOMPARE(sc3.readPathEntry(QStringLiteral("canonicalHomePath"), QString{}), s_canonical_homepath);
+ QCOMPARE(sc3.entryMap().value(QStringLiteral("homepath")), s_homepath);
+
+ qputenv("WITHSLASH", "/a/");
+ {
+ QFile file(m_testConfigDir + QLatin1String("/pathtest"));
+ file.open(QIODevice::WriteOnly | QIODevice::Text);
+ QTextStream out(&file);
+ out << "[Test Group]\n"
+ << "homePath=$HOME/foo\n"
+ << "homePath2=file://$HOME/foo\n"
+ << "withSlash=$WITHSLASH/foo\n"
+ << "withSlash2=$WITHSLASH\n"
+ << "withBraces[$e]=file://${HOME}/foo\n"
+ << "URL[$e]=file://${HOME}/foo\n"
+ << "hostname[$e]=$(hostname)\n"
+ << "escapes=aaa,bb/b,ccc\\,ccc\n"
+ << "noeol=foo" // no EOL
+ ;
+ }
+ KConfig cf2(s_test_subdir + QLatin1String("pathtest"));
+ KConfigGroup group = cf2.group(QStringLiteral("Test Group"));
+ QVERIFY(group.hasKey("homePath"));
+ QCOMPARE(group.readPathEntry("homePath", QString{}), s_homepath);
+ QVERIFY(group.hasKey("homePath2"));
+ QCOMPARE(group.readPathEntry("homePath2", QString{}), QLatin1String("file://") + s_homepath);
+ QVERIFY(group.hasKey("withSlash"));
+ QCOMPARE(group.readPathEntry("withSlash", QString{}), QStringLiteral("/a//foo"));
+ QVERIFY(group.hasKey("withSlash2"));
+ QCOMPARE(group.readPathEntry("withSlash2", QString{}), QStringLiteral("/a/"));
+ QVERIFY(group.hasKey("withBraces"));
+ QCOMPARE(group.readPathEntry("withBraces", QString{}), QLatin1String("file://") + s_homepath);
+ QVERIFY(group.hasKey("URL"));
+ QCOMPARE(group.readEntry("URL", QString{}), QLatin1String("file://") + s_homepath);
+ QVERIFY(group.hasKey("hostname"));
+ QCOMPARE(group.readEntry("hostname", QString{}), QStringLiteral("(hostname)")); // the $ got removed because empty var name
+ QVERIFY(group.hasKey("noeol"));
+ QCOMPARE(group.readEntry("noeol", QString{}), QStringLiteral("foo"));
+
+ const auto val = QStringList{QStringLiteral("aaa"), QStringLiteral("bb/b"), QStringLiteral("ccc,ccc")};
+ QCOMPARE(group.readPathEntry(QStringLiteral("escapes"), QStringList()), val);
+}
+
+void KConfigTest::testPersistenceOfExpandFlagForPath()
+{
+ // This test checks that a path entry starting with $HOME is still flagged
+ // with the expand flag after the config was altered without rewriting the
+ // path entry.
+
+ // 1st step: Open the config, add a new dummy entry and then sync the config
+ // back to the storage.
+ {
+ KConfig sc2(s_kconfig_test_subdir);
+ KConfigGroup sc3(&sc2, QStringLiteral("Path Type"));
+ sc3.writeEntry("dummy", "dummy");
+ QVERIFY(sc2.sync());
+ }
+
+ // 2nd step: Call testPath() again. Rewriting the config must not break
+ // the testPath() test.
+ testPath();
+}
+
+void KConfigTest::testPathQtHome()
+{
+ {
+ QFile file(m_testConfigDir + QLatin1String("/pathtest"));
+ file.open(QIODevice::WriteOnly | QIODevice::Text);
+ QTextStream out(&file);
+ out << "[Test Group]\n"
+ << "dataDir[$e]=$QT_DATA_HOME/kconfigtest\n"
+ << "cacheDir[$e]=$QT_CACHE_HOME/kconfigtest\n"
+ << "configDir[$e]=$QT_CONFIG_HOME/kconfigtest\n";
+ }
+ KConfig cf2(s_test_subdir + QLatin1String("pathtest"));
+ KConfigGroup group = cf2.group(QStringLiteral("Test Group"));
+ qunsetenv("QT_DATA_HOME");
+ qunsetenv("QT_CACHE_HOME");
+ qunsetenv("QT_CONFIG_HOME");
+ QVERIFY(group.hasKey("dataDir"));
+ QCOMPARE(group.readEntry("dataDir", QString{}),
+ QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation).append(QStringLiteral("/kconfigtest")));
+ QVERIFY(group.hasKey("cacheDir"));
+ QCOMPARE(group.readEntry("cacheDir", QString{}),
+ QStandardPaths::writableLocation(QStandardPaths::GenericCacheLocation).append(QStringLiteral("/kconfigtest")));
+ QVERIFY(group.hasKey("configDir"));
+ QCOMPARE(group.readEntry("configDir", QString{}),
+ QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation).append(QStringLiteral("/kconfigtest")));
+ qputenv("QT_DATA_HOME", "/1");
+ qputenv("QT_CACHE_HOME", "/2");
+ qputenv("QT_CONFIG_HOME", "/3");
+ QVERIFY(group.hasKey("dataDir"));
+ QCOMPARE(group.readEntry("dataDir", QString{}), QStringLiteral("/1/kconfigtest"));
+ QVERIFY(group.hasKey("cacheDir"));
+ QCOMPARE(group.readEntry("cacheDir", QString{}), QStringLiteral("/2/kconfigtest"));
+ QVERIFY(group.hasKey("configDir"));
+ QCOMPARE(group.readEntry("configDir", QString{}), QStringLiteral("/3/kconfigtest"));
+}
+
+void KConfigTest::testComplex()
+{
+ KConfig sc2(s_kconfig_test_subdir);
+ KConfigGroup sc3(&sc2, QStringLiteral("Complex Types"));
+
+ QCOMPARE(sc3.readEntry("pointEntry", QPoint()), s_point_entry);
+ QCOMPARE(sc3.readEntry("sizeEntry", s_size_entry), s_size_entry);
+ QCOMPARE(sc3.readEntry("rectEntry", QRect(1, 2, 3, 4)), s_rect_entry);
+ QCOMPARE(sc3.readEntry("dateTimeEntry", QDateTime()).toString(Qt::ISODateWithMs), s_date_time_entry.toString(Qt::ISODateWithMs));
+ QCOMPARE(sc3.readEntry("dateEntry", QDate()).toString(Qt::ISODate), s_date_time_entry.date().toString(Qt::ISODate));
+ QCOMPARE(sc3.readEntry("dateTimeWithMSEntry", QDateTime()).toString(Qt::ISODateWithMs), s_date_time_with_ms_entry.toString(Qt::ISODateWithMs));
+ QCOMPARE(sc3.readEntry("dateTimeEntry", QDate()), s_date_time_entry.date());
+}
+
+void KConfigTest::testEnums()
+{
+ // Visual C++ 2010 (compiler version 16.0) throws an Internal Compiler Error
+ // when compiling the code in initTestCase that creates these KConfig entries,
+ // so we can't run this test
+#if defined(_MSC_VER) && _MSC_VER == 1600
+ QSKIP("Visual C++ 2010 can't compile this test");
+#endif
+ KConfig sc(s_kconfig_test_subdir);
+ KConfigGroup sc3(&sc, QStringLiteral("Enum Types"));
+
+ QCOMPARE(sc3.readEntry("enum-10"), QStringLiteral("Tens"));
+ QVERIFY(sc3.readEntry("enum-100", Ones) != Ones);
+ QVERIFY(sc3.readEntry("enum-100", Ones) != Tens);
+
+ QCOMPARE(sc3.readEntry("flags-bit0"), QStringLiteral("bit0"));
+ QVERIFY(sc3.readEntry("flags-bit0", Flags()) == bit0);
+
+ int eid = staticMetaObject.indexOfEnumerator("Flags");
+ QVERIFY(eid != -1);
+ QMetaEnum me = staticMetaObject.enumerator(eid);
+ Flags bitfield = bit0 | bit1;
+
+ QCOMPARE(sc3.readEntry("flags-bit0-bit1"), QString::fromLatin1(me.valueToKeys(bitfield)));
+ QVERIFY(sc3.readEntry("flags-bit0-bit1", Flags()) == bitfield);
+}
+
+void KConfigTest::testEntryMap()
+{
+ KConfig sc(s_kconfig_test_subdir);
+ KConfigGroup cg(&sc, QStringLiteral("Hello"));
+ QMap<QString, QString> entryMap = cg.entryMap();
+ qDebug() << entryMap.keys();
+ QCOMPARE(entryMap.value(QStringLiteral("stringEntry1")), s_string_entry1);
+ QCOMPARE(entryMap.value(QStringLiteral("stringEntry2")), s_string_entry2);
+ QCOMPARE(entryMap.value(QStringLiteral("stringEntry3")), s_string_entry3);
+ QCOMPARE(entryMap.value(QStringLiteral("stringEntry4")), s_string_entry4);
+ QVERIFY(!entryMap.contains(QStringLiteral("stringEntry5")));
+ QVERIFY(!entryMap.contains(QStringLiteral("stringEntry6")));
+ QCOMPARE(entryMap.value(QStringLiteral("Test")), QString::fromUtf8(s_utf8bit_entry));
+ QCOMPARE(entryMap.value(QStringLiteral("bytearrayEntry")), QString::fromUtf8(s_bytearray_entry.constData()));
+ QCOMPARE(entryMap.value(QStringLiteral("emptyEntry")), QString{});
+ QVERIFY(entryMap.contains(QStringLiteral("emptyEntry")));
+ QCOMPARE(entryMap.value(QStringLiteral("boolEntry1")), s_bool_entry1 ? QStringLiteral("true") : QStringLiteral("false"));
+ QCOMPARE(entryMap.value(QStringLiteral("boolEntry2")), s_bool_entry2 ? QStringLiteral("true") : QStringLiteral("false"));
+ QCOMPARE(entryMap.value(QStringLiteral("keywith=equalsign")), s_string_entry1);
+ QCOMPARE(entryMap.value(QStringLiteral("byteArrayEntry1")), s_string_entry1);
+ QCOMPARE(entryMap.value(QStringLiteral("doubleEntry1")).toDouble(), s_double_entry);
+ QCOMPARE(entryMap.value(QStringLiteral("floatEntry1")).toFloat(), s_float_entry);
+}
+
+void KConfigTest::testInvalid()
+{
+ KConfig sc(s_kconfig_test_subdir);
+
+ // all of these should print a message to the kdebug.dbg file
+ KConfigGroup sc3(&sc, QStringLiteral("Invalid Types"));
+ sc3.writeEntry("badList", s_variantlist_entry2);
+
+ QList<int> list;
+
+ // 1 element list
+ list << 1;
+ sc3.writeEntry(QStringLiteral("badList"), list);
+
+ QVERIFY(sc3.readEntry("badList", QPoint()) == QPoint());
+ QVERIFY(sc3.readEntry("badList", QRect()) == QRect());
+ QVERIFY(sc3.readEntry("badList", QSize()) == QSize());
+ QVERIFY(sc3.readEntry("badList", QDate()) == QDate());
+ QVERIFY(sc3.readEntry("badList", QDateTime()) == QDateTime());
+
+ // 2 element list
+ list << 2;
+ sc3.writeEntry("badList", list);
+
+ QVERIFY(sc3.readEntry("badList", QRect()) == QRect());
+ QVERIFY(sc3.readEntry("badList", QDate()) == QDate());
+ QVERIFY(sc3.readEntry("badList", QDateTime()) == QDateTime());
+
+ // 3 element list
+ list << 303;
+ sc3.writeEntry("badList", list);
+
+ QVERIFY(sc3.readEntry("badList", QPoint()) == QPoint());
+ QVERIFY(sc3.readEntry("badList", QRect()) == QRect());
+ QVERIFY(sc3.readEntry("badList", QSize()) == QSize());
+ QVERIFY(sc3.readEntry("badList", QDate()) == QDate()); // out of bounds
+ QVERIFY(sc3.readEntry("badList", QDateTime()) == QDateTime());
+
+ // 4 element list
+ list << 4;
+ sc3.writeEntry("badList", list);
+
+ QVERIFY(sc3.readEntry("badList", QPoint()) == QPoint());
+ QVERIFY(sc3.readEntry("badList", QSize()) == QSize());
+ QVERIFY(sc3.readEntry("badList", QDate()) == QDate());
+ QVERIFY(sc3.readEntry("badList", QDateTime()) == QDateTime());
+
+ // 5 element list
+ list[2] = 3;
+ list << 5;
+ sc3.writeEntry("badList", list);
+
+ QVERIFY(sc3.readEntry("badList", QPoint()) == QPoint());
+ QVERIFY(sc3.readEntry("badList", QRect()) == QRect());
+ QVERIFY(sc3.readEntry("badList", QSize()) == QSize());
+ QVERIFY(sc3.readEntry("badList", QDate()) == QDate());
+ QVERIFY(sc3.readEntry("badList", QDateTime()) == QDateTime());
+
+ // 6 element list
+ list << 6;
+ sc3.writeEntry("badList", list);
+
+ QVERIFY(sc3.readEntry("badList", QPoint()) == QPoint());
+ QVERIFY(sc3.readEntry("badList", QRect()) == QRect());
+ QVERIFY(sc3.readEntry("badList", QSize()) == QSize());
+}
+
+void KConfigTest::testChangeGroup()
+{
+ KConfig sc(s_kconfig_test_subdir);
+ KConfigGroup sc3(&sc, QStringLiteral("Hello"));
+ QCOMPARE(sc3.name(), QStringLiteral("Hello"));
+ KConfigGroup newGroup(sc3);
+
+ KConfigGroup rootGroup(sc.group(QString()));
+ QCOMPARE(rootGroup.name(), QStringLiteral("<default>"));
+ KConfigGroup sc32(rootGroup.group(QStringLiteral("Hello")));
+ QCOMPARE(sc32.name(), QStringLiteral("Hello"));
+ KConfigGroup newGroup2(sc32);
+}
+
+// Simple test for deleteEntry
+void KConfigTest::testDeleteEntry()
+{
+ const QString configFile = s_test_subdir + QLatin1String("kconfigdeletetest");
+
+ {
+ KConfig conf(configFile);
+ conf.group(QStringLiteral("Hello")).writeEntry("DelKey", "ToBeDeleted");
+ }
+ const QList<QByteArray> lines = readLines(configFile);
+ Q_ASSERT(lines.contains("[Hello]\n"));
+ Q_ASSERT(lines.contains("DelKey=ToBeDeleted\n"));
+
+ KConfig sc(configFile);
+ KConfigGroup group(&sc, QStringLiteral("Hello"));
+
+ group.deleteEntry("DelKey");
+ QCOMPARE(group.readEntry("DelKey", QStringLiteral("Fietsbel")), QStringLiteral("Fietsbel"));
+
+ QVERIFY(group.sync());
+ Q_ASSERT(!readLines(configFile).contains("DelKey=ToBeDeleted\n"));
+ QCOMPARE(group.readEntry("DelKey", QStringLiteral("still deleted")), QStringLiteral("still deleted"));
+}
+
+void KConfigTest::testDelete()
+{
+ KConfig sc(s_kconfig_test_subdir);
+
+ KConfigGroup ct(&sc, QStringLiteral("Complex Types"));
+
+ // First delete a nested group
+ KConfigGroup delgr(&ct, QStringLiteral("Nested Group 3"));
+ QVERIFY(delgr.exists());
+ QVERIFY(ct.hasGroup(QStringLiteral("Nested Group 3")));
+ QVERIFY(ct.groupList().contains(QStringLiteral("Nested Group 3")));
+ delgr.deleteGroup();
+ QVERIFY(!delgr.exists());
+ QVERIFY(!ct.hasGroup(QStringLiteral("Nested Group 3")));
+ QVERIFY(!ct.groupList().contains(QStringLiteral("Nested Group 3")));
+
+ KConfigGroup ng(&ct, QStringLiteral("Nested Group 2"));
+ QVERIFY(sc.hasGroup(QStringLiteral("Complex Types")));
+ QVERIFY(sc.groupList().contains(QStringLiteral("Complex Types")));
+ QVERIFY(!sc.hasGroup(QStringLiteral("Does not exist")));
+ QVERIFY(ct.hasGroup(QStringLiteral("Nested Group 1")));
+ QVERIFY(ct.groupList().contains(QStringLiteral("Nested Group 1")));
+ sc.deleteGroup(QStringLiteral("Complex Types"));
+ QCOMPARE(sc.group(QStringLiteral("Complex Types")).keyList().count(), 0);
+ QVERIFY(!sc.hasGroup(QStringLiteral("Complex Types"))); // #192266
+ QVERIFY(!sc.group(QStringLiteral("Complex Types")).exists());
+ QVERIFY(!sc.groupList().contains(QStringLiteral("Complex Types")));
+ QVERIFY(!ct.hasGroup(QStringLiteral("Nested Group 1")));
+ QVERIFY(!ct.groupList().contains(QStringLiteral("Nested Group 1")));
+
+ QCOMPARE(ct.group(QStringLiteral("Nested Group 1")).keyList().count(), 0);
+ QCOMPARE(ct.group(QStringLiteral("Nested Group 2")).keyList().count(), 0);
+ QCOMPARE(ng.group(QStringLiteral("Nested Group 2.1")).keyList().count(), 0);
+
+ KConfigGroup cg(&sc, QStringLiteral("AAA"));
+ cg.deleteGroup();
+ QVERIFY(sc.entryMap(QStringLiteral("Complex Types")).isEmpty());
+ QVERIFY(sc.entryMap(QStringLiteral("AAA")).isEmpty());
+ QVERIFY(!sc.entryMap(QStringLiteral("Hello")).isEmpty()); // not deleted group
+ QVERIFY(sc.entryMap(QStringLiteral("FooBar")).isEmpty()); // inexistent group
+
+ KConfigGroup(&sc, QStringLiteral("LocalGroupToBeDeleted")).deleteGroup();
+
+ QVERIFY(cg.sync());
+ // Check what happens on disk
+ const QList<QByteArray> lines = readLines();
+ // qDebug() << lines;
+ QVERIFY(!lines.contains("[Complex Types]\n"));
+ QVERIFY(!lines.contains("[Complex Types][Nested Group 1]\n"));
+ QVERIFY(!lines.contains("[Complex Types][Nested Group 2]\n"));
+ QVERIFY(!lines.contains("[Complex Types][Nested Group 2.1]\n"));
+ QVERIFY(!lines.contains("[LocalGroupToBeDeleted]\n"));
+ QVERIFY(lines.contains("[AAA]\n")); // deleted from kconfigtest, but present in kdeglobals, so [$d]
+ QVERIFY(lines.contains("[Hello]\n")); // a group that was not deleted
+
+ // test for entries that are marked as deleted when there is no default
+ KConfig cf(s_kconfig_test_subdir, KConfig::SimpleConfig); // make sure there are no defaults
+ cg = cf.group(QStringLiteral("Portable Devices"));
+ cg.writeEntry("devices|manual|(null)", "whatever");
+ cg.writeEntry("devices|manual|/mnt/ipod", "/mnt/ipod");
+ QVERIFY(cf.sync());
+
+ int count = 0;
+ const QList<QByteArray> listLines = readLines();
+ for (const QByteArray &item : listLines) {
+ if (item.startsWith("devices|")) { // krazy:exclude=strings
+ ++count;
+ }
+ }
+ QCOMPARE(count, 2);
+ cg.deleteEntry("devices|manual|/mnt/ipod");
+ QVERIFY(cf.sync());
+ const QList<QByteArray> listLines2 = readLines();
+ for (const QByteArray &item : listLines2) {
+ QVERIFY(!item.contains("ipod"));
+ }
+}
+
+void KConfigTest::testDefaultGroup()
+{
+ KConfig sc(s_kconfig_test_subdir);
+ KConfigGroup defaultGroup(&sc, QStringLiteral("<default>"));
+ QCOMPARE(defaultGroup.name(), QStringLiteral("<default>"));
+ QVERIFY(!defaultGroup.exists());
+ defaultGroup.writeEntry("TestKey", "defaultGroup");
+ QVERIFY(defaultGroup.exists());
+ QCOMPARE(defaultGroup.readEntry("TestKey", QString{}), QStringLiteral("defaultGroup"));
+ QVERIFY(sc.sync());
+
+ {
+ // Test reading it
+ KConfig sc2(s_kconfig_test_subdir);
+ KConfigGroup defaultGroup2(&sc2, QStringLiteral("<default>"));
+ QCOMPARE(defaultGroup2.name(), QStringLiteral("<default>"));
+ QVERIFY(defaultGroup2.exists());
+ QCOMPARE(defaultGroup2.readEntry("TestKey", QString{}), QStringLiteral("defaultGroup"));
+ }
+ {
+ // Test reading it
+ KConfig sc2(s_kconfig_test_subdir);
+ KConfigGroup emptyGroup(&sc2, QString());
+ QCOMPARE(emptyGroup.name(), QStringLiteral("<default>"));
+ QVERIFY(emptyGroup.exists());
+ QCOMPARE(emptyGroup.readEntry("TestKey", QString{}), QStringLiteral("defaultGroup"));
+ }
+
+ QList<QByteArray> lines = readLines();
+ QVERIFY(!lines.contains("[]\n"));
+ QVERIFY(!lines.isEmpty());
+ QCOMPARE(lines.first(), QByteArray("TestKey=defaultGroup\n"));
+
+ // Now that the group exists make sure it isn't returned from groupList()
+ const QStringList groupList = sc.groupList();
+ for (const QString &group : groupList) {
+ QVERIFY(!group.isEmpty() && group != QLatin1String("<default>"));
+ }
+
+ defaultGroup.deleteGroup();
+ QVERIFY(sc.sync());
+
+ // Test if deleteGroup worked
+ lines = readLines();
+ QVERIFY(lines.first() != QByteArray("TestKey=defaultGroup\n"));
+}
+
+void KConfigTest::testEmptyGroup()
+{
+ KConfig sc(s_kconfig_test_subdir);
+ KConfigGroup emptyGroup(&sc, QString());
+ QCOMPARE(emptyGroup.name(), QStringLiteral("<default>")); // confusing, heh?
+ QVERIFY(!emptyGroup.exists());
+ emptyGroup.writeEntry("TestKey", "emptyGroup");
+ QVERIFY(emptyGroup.exists());
+ QCOMPARE(emptyGroup.readEntry("TestKey", QString{}), QStringLiteral("emptyGroup"));
+ QVERIFY(sc.sync());
+
+ {
+ // Test reading it
+ KConfig sc2(s_kconfig_test_subdir);
+ KConfigGroup defaultGroup(&sc2, QStringLiteral("<default>"));
+ QCOMPARE(defaultGroup.name(), QStringLiteral("<default>"));
+ QVERIFY(defaultGroup.exists());
+ QCOMPARE(defaultGroup.readEntry("TestKey", QString{}), QStringLiteral("emptyGroup"));
+ }
+ {
+ // Test reading it
+ KConfig sc2(s_kconfig_test_subdir);
+ KConfigGroup emptyGroup2(&sc2, QString());
+ QCOMPARE(emptyGroup2.name(), QStringLiteral("<default>"));
+ QVERIFY(emptyGroup2.exists());
+ QCOMPARE(emptyGroup2.readEntry("TestKey", QString{}), QStringLiteral("emptyGroup"));
+ }
+
+ QList<QByteArray> lines = readLines();
+ QVERIFY(!lines.contains("[]\n")); // there's no support for the [] group, in fact.
+ QCOMPARE(lines.first(), QByteArray("TestKey=emptyGroup\n"));
+
+ // Now that the group exists make sure it isn't returned from groupList()
+ const QStringList groupList = sc.groupList();
+ for (const QString &group : groupList) {
+ QVERIFY(!group.isEmpty() && group != QLatin1String("<default>"));
+ }
+ emptyGroup.deleteGroup();
+ QVERIFY(sc.sync());
+
+ // Test if deleteGroup worked
+ lines = readLines();
+ QVERIFY(lines.first() != QByteArray("TestKey=defaultGroup\n"));
+}
+
+#if defined(Q_OS_UNIX) && !defined(Q_OS_MAC) && !defined(Q_OS_BLACKBERRY) && !defined(Q_OS_ANDROID)
+#define Q_XDG_PLATFORM
+#endif
+
+void KConfigTest::testCascadingWithLocale()
+{
+ // This test relies on XDG_CONFIG_DIRS, which only has effect on Unix.
+ // Cascading (more than two levels) isn't available at all on Windows.
+#ifdef Q_XDG_PLATFORM
+ QTemporaryDir middleDir;
+ QTemporaryDir globalDir;
+ const QByteArray oldConfigDirs = qgetenv("XDG_CONFIG_DIRS");
+ qputenv("XDG_CONFIG_DIRS", qPrintable(middleDir.path() + QLatin1Char(':') + globalDir.path()));
+
+ const QString globalConfigDir = globalDir.path() + QLatin1Char('/') + s_test_subdir;
+ QVERIFY(QDir().mkpath(globalConfigDir));
+ QFile global(globalConfigDir + QLatin1String("foo.desktop"));
+ QVERIFY(global.open(QIODevice::WriteOnly | QIODevice::Text));
+ QTextStream globalOut(&global);
+ globalOut << "[Group]\n"
+ << "FromGlobal=true\n"
+ << "FromGlobal[fr]=vrai\n"
+ << "Name=Testing\n"
+ << "Name[fr]=FR\n"
+ << "Other=Global\n"
+ << "Other[fr]=Global_FR\n";
+ global.close();
+
+ const QString middleConfigDir = middleDir.path() + QLatin1Char('/') + s_test_subdir;
+ QVERIFY(QDir().mkpath(middleConfigDir));
+ QFile local(middleConfigDir + QLatin1String("foo.desktop"));
+ QVERIFY(local.open(QIODevice::WriteOnly | QIODevice::Text));
+ QTextStream out(&local);
+ out << "[Group]\n"
+ << "FromLocal=true\n"
+ << "FromLocal[fr]=vrai\n"
+ << "Name=Local Testing\n"
+ << "Name[fr]=FR\n"
+ << "Other=English Only\n";
+ local.close();
+
+ KConfig config(s_test_subdir + QLatin1String("foo.desktop"));
+ KConfigGroup group = config.group(QStringLiteral("Group"));
+ QCOMPARE(group.readEntry("FromGlobal"), QStringLiteral("true"));
+ QCOMPARE(group.readEntry("FromLocal"), QStringLiteral("true"));
+ QCOMPARE(group.readEntry("Name"), QStringLiteral("Local Testing"));
+ config.setLocale(QStringLiteral("fr"));
+ QCOMPARE(group.readEntry("FromGlobal"), QStringLiteral("vrai"));
+ QCOMPARE(group.readEntry("FromLocal"), QStringLiteral("vrai"));
+ QCOMPARE(group.readEntry("Name"), QStringLiteral("FR"));
+ QCOMPARE(group.readEntry("Other"), QStringLiteral("English Only")); // Global_FR is locally overridden
+ qputenv("XDG_CONFIG_DIRS", oldConfigDirs);
+#endif
+}
+
+void KConfigTest::testMerge()
+{
+ DefaultLocale defaultLocale;
+ QLocale::setDefault(QLocale::c());
+ KConfig config(s_test_subdir + QLatin1String("mergetest"), KConfig::SimpleConfig);
+
+ KConfigGroup cg = config.group(QStringLiteral("some group"));
+ cg.writeEntry("entry", " random entry");
+ cg.writeEntry("another entry", "blah blah blah");
+
+ {
+ // simulate writing by another process
+ QFile file(m_testConfigDir + QLatin1String("/mergetest"));
+ file.open(QIODevice::WriteOnly | QIODevice::Text);
+ QTextStream out(&file);
+ out << "[Merged Group]\n"
+ << "entry1=Testing\n"
+ << "entry2=More Testing\n"
+ << "[some group]\n"
+ << "entry[fr]=French\n"
+ << "entry[es]=Spanish\n"
+ << "entry[de]=German\n";
+ }
+ QVERIFY(config.sync());
+
+ {
+ QList<QByteArray> lines;
+ // this is what the file should look like
+ lines << "[Merged Group]\n"
+ << "entry1=Testing\n"
+ << "entry2=More Testing\n"
+ << "\n"
+ << "[some group]\n"
+ << "another entry=blah blah blah\n"
+ << "entry=\\srandom entry\n"
+ << "entry[de]=German\n"
+ << "entry[es]=Spanish\n"
+ << "entry[fr]=French\n";
+ QFile file(m_testConfigDir + QLatin1String("/mergetest"));
+ file.open(QIODevice::ReadOnly | QIODevice::Text);
+ for (const QByteArray &line : std::as_const(lines)) {
+ QCOMPARE(line, file.readLine());
+ }
+ }
+}
+
+void KConfigTest::testImmutable()
+{
+ {
+ QFile file(m_testConfigDir + QLatin1String("/immutabletest"));
+ file.open(QIODevice::WriteOnly | QIODevice::Text);
+ QTextStream out(&file);
+ out << "[$i]\n"
+ << "entry1=Testing\n"
+ << "[group][$i]\n"
+ << "[group][subgroup][$i]\n";
+ }
+
+ KConfig config(s_test_subdir + QLatin1String("immutabletest"), KConfig::SimpleConfig);
+ QVERIFY(config.isGroupImmutable(QString()));
+ KConfigGroup cg = config.group(QString());
+ QVERIFY(cg.isEntryImmutable("entry1"));
+ KConfigGroup cg1 = config.group(QStringLiteral("group"));
+ QVERIFY(cg1.isImmutable());
+ KConfigGroup cg1a = cg.group(QStringLiteral("group"));
+ QVERIFY(cg1a.isImmutable());
+ KConfigGroup cg2 = cg1.group(QStringLiteral("subgroup"));
+ QVERIFY(cg2.isImmutable());
+}
+
+void KConfigTest::testOptionOrder()
+{
+ {
+ QFile file(m_testConfigDir + QLatin1String("/doubleattrtest"));
+ file.open(QIODevice::WriteOnly | QIODevice::Text);
+ QTextStream out(&file);
+ out << "[group3]\n"
+ << "entry2=unlocalized\n"
+ << "entry2[$i][de_DE]=t2\n";
+ }
+ KConfig config(s_test_subdir + QLatin1String("doubleattrtest"), KConfig::SimpleConfig);
+ config.setLocale(QStringLiteral("de_DE"));
+ KConfigGroup cg3 = config.group(QStringLiteral("group3"));
+ QVERIFY(!cg3.isImmutable());
+ QCOMPARE(cg3.readEntry("entry2", ""), QStringLiteral("t2"));
+ QVERIFY(cg3.isEntryImmutable("entry2"));
+ config.setLocale(QStringLiteral("C"));
+ QCOMPARE(cg3.readEntry("entry2", ""), QStringLiteral("unlocalized"));
+ QVERIFY(!cg3.isEntryImmutable("entry2"));
+ cg3.writeEntry("entry2", "modified");
+ QVERIFY(config.sync());
+
+ {
+ QList<QByteArray> lines;
+ // this is what the file should look like
+ lines << "[group3]\n"
+ << "entry2=modified\n"
+ << "entry2[de_DE][$i]=t2\n";
+
+ QFile file(m_testConfigDir + QLatin1String("/doubleattrtest"));
+ file.open(QIODevice::ReadOnly | QIODevice::Text);
+ for (const QByteArray &line : std::as_const(lines)) {
+ QCOMPARE(line, file.readLine());
+ }
+ }
+}
+
+void KConfigTest::testGroupEscape()
+{
+ KConfig config(s_test_subdir + QLatin1String("groupescapetest"), KConfig::SimpleConfig);
+ QVERIFY(config.group(s_dollargroup).exists());
+}
+
+void KConfigTest::testSubGroup()
+{
+ KConfig sc(s_kconfig_test_subdir);
+ KConfigGroup cg(&sc, QStringLiteral("ParentGroup"));
+ QCOMPARE(cg.readEntry("parentgrpstring", ""), QStringLiteral("somevalue"));
+ KConfigGroup subcg1(&cg, QStringLiteral("SubGroup1"));
+ QCOMPARE(subcg1.name(), QStringLiteral("SubGroup1"));
+ QCOMPARE(subcg1.readEntry("somestring", ""), QStringLiteral("somevalue"));
+ KConfigGroup subcg2(&cg, QStringLiteral("SubGroup2"));
+ QCOMPARE(subcg2.name(), QStringLiteral("SubGroup2"));
+ QCOMPARE(subcg2.readEntry("substring", ""), QStringLiteral("somevalue"));
+ KConfigGroup subcg3(&cg, QStringLiteral("SubGroup/3"));
+ QCOMPARE(subcg3.readEntry("sub3string", ""), QStringLiteral("somevalue"));
+ QCOMPARE(subcg3.name(), QStringLiteral("SubGroup/3"));
+ KConfigGroup rcg(&sc, QString());
+ KConfigGroup srcg(&rcg, QStringLiteral("ParentGroup"));
+ QCOMPARE(srcg.readEntry("parentgrpstring", ""), QStringLiteral("somevalue"));
+
+ QStringList groupList = cg.groupList();
+ groupList.sort(); // comes from QSet, so order is undefined
+ QCOMPARE(groupList, (QStringList{QStringLiteral("SubGroup/3"), QStringLiteral("SubGroup1"), QStringLiteral("SubGroup2")}));
+
+ const QStringList expectedSubgroup3Keys{QStringLiteral("sub3string")};
+ QCOMPARE(subcg3.keyList(), expectedSubgroup3Keys);
+ const QStringList expectedParentGroupKeys{QStringLiteral("parentgrpstring")};
+
+ QCOMPARE(cg.keyList(), expectedParentGroupKeys);
+
+ QCOMPARE(QStringList(cg.entryMap().keys()), expectedParentGroupKeys);
+ QCOMPARE(QStringList(subcg3.entryMap().keys()), expectedSubgroup3Keys);
+
+ // Create A group containing only other groups. We want to make sure it
+ // shows up in groupList of sc
+ KConfigGroup neg(&sc, QStringLiteral("NoEntryGroup"));
+ KConfigGroup negsub1(&neg, QStringLiteral("NEG Child1"));
+ negsub1.writeEntry("entry", "somevalue");
+ KConfigGroup negsub2(&neg, QStringLiteral("NEG Child2"));
+ KConfigGroup negsub3(&neg, QStringLiteral("NEG Child3"));
+ KConfigGroup negsub31(&negsub3, QStringLiteral("NEG Child3-1"));
+ KConfigGroup negsub4(&neg, QStringLiteral("NEG Child4"));
+ KConfigGroup negsub41(&negsub4, QStringLiteral("NEG Child4-1"));
+ negsub41.writeEntry("entry", "somevalue");
+
+ // A group exists if it has content
+ QVERIFY(negsub1.exists());
+
+ // But it doesn't exist if it has no content
+ // Ossi and David say: this is how it's supposed to work.
+ // However you could add a dummy entry for now, or we could add a "Persist" feature to kconfig groups
+ // which would make it written out, much like "immutable" already makes them persistent.
+ QVERIFY(!negsub2.exists());
+
+ // A subgroup does not qualify as content if it is also empty
+ QVERIFY(!negsub3.exists());
+
+ // A subgroup with content is ok
+ QVERIFY(negsub4.exists());
+
+ // Only subgroups with content show up in groupList()
+ // QEXPECT_FAIL("", "Empty subgroups do not show up in groupList()", Continue);
+ // QCOMPARE(neg.groupList(), QStringList() << "NEG Child1" << "NEG Child2" << "NEG Child3" << "NEG Child4");
+ // This is what happens
+ QStringList groups = neg.groupList();
+ groups.sort(); // Qt5 made the ordering unreliable, due to QHash
+ QCOMPARE(groups, (QStringList{QStringLiteral("NEG Child1"), QStringLiteral("NEG Child4")}));
+
+ // make sure groupList() isn't returning something it shouldn't
+ const QStringList listGroup = sc.groupList();
+ for (const QString &group : listGroup) {
+ QVERIFY(!group.isEmpty() && group != QLatin1String("<default>"));
+ QVERIFY(!group.contains(QChar(0x1d)));
+ QVERIFY(!group.contains(QLatin1String("subgroup")));
+ QVERIFY(!group.contains(QLatin1String("SubGroup")));
+ }
+
+ QVERIFY(sc.sync());
+
+ // Check that the empty groups are not written out.
+ const QList<QByteArray> lines = readLines();
+ QVERIFY(lines.contains("[NoEntryGroup][NEG Child1]\n"));
+ QVERIFY(!lines.contains("[NoEntryGroup][NEG Child2]\n"));
+ QVERIFY(!lines.contains("[NoEntryGroup][NEG Child3]\n"));
+ QVERIFY(!lines.contains("[NoEntryGroup][NEG Child4]\n")); // implicit group, not written out
+ QVERIFY(lines.contains("[NoEntryGroup][NEG Child4][NEG Child4-1]\n"));
+}
+
+void KConfigTest::testAddConfigSources()
+{
+ KConfig cf(s_test_subdir + QLatin1String("specificrc"));
+
+ cf.addConfigSources(QStringList{m_testConfigDir + QLatin1String("/baserc")});
+ cf.reparseConfiguration();
+
+ KConfigGroup specificgrp(&cf, QStringLiteral("Specific Only Group"));
+ QCOMPARE(specificgrp.readEntry("ExistingEntry", ""), QStringLiteral("DevValue"));
+
+ KConfigGroup sharedgrp(&cf, QStringLiteral("Shared Group"));
+ QCOMPARE(sharedgrp.readEntry("SomeSpecificOnlyEntry", ""), QStringLiteral("DevValue"));
+ QCOMPARE(sharedgrp.readEntry("SomeBaseOnlyEntry", ""), QStringLiteral("BaseValue"));
+ QCOMPARE(sharedgrp.readEntry("SomeSharedEntry", ""), QStringLiteral("DevValue"));
+
+ KConfigGroup basegrp(&cf, QStringLiteral("Base Only Group"));
+ QCOMPARE(basegrp.readEntry("ExistingEntry", ""), QStringLiteral("BaseValue"));
+ basegrp.writeEntry("New Entry Base Only", "SomeValue");
+
+ KConfigGroup newgrp(&cf, QStringLiteral("New Group"));
+ newgrp.writeEntry("New Entry", "SomeValue");
+
+ QVERIFY(cf.sync());
+
+ KConfig plaincfg(s_test_subdir + QLatin1String("specificrc"));
+
+ KConfigGroup newgrp2(&plaincfg, QStringLiteral("New Group"));
+ QCOMPARE(newgrp2.readEntry("New Entry", ""), QStringLiteral("SomeValue"));
+
+ KConfigGroup basegrp2(&plaincfg, QStringLiteral("Base Only Group"));
+ QCOMPARE(basegrp2.readEntry("New Entry Base Only", ""), QStringLiteral("SomeValue"));
+}
+
+void KConfigTest::testGroupCopyTo()
+{
+ KConfig cf1(s_kconfig_test_subdir);
+ KConfigGroup original = cf1.group(QStringLiteral("Enum Types"));
+
+ KConfigGroup copy = cf1.group(QStringLiteral("Enum Types Copy"));
+ original.copyTo(©); // copy from one group to another
+ QCOMPARE(copy.entryMap(), original.entryMap());
+
+ KConfig cf2(s_test_subdir + QLatin1String("copy_of_kconfigtest"), KConfig::SimpleConfig);
+ QVERIFY(!cf2.hasGroup(original.name()));
+ QVERIFY(!cf2.hasGroup(copy.name()));
+
+ KConfigGroup newGroup = cf2.group(original.name());
+ original.copyTo(&newGroup); // copy from one file to another
+ QVERIFY(cf2.hasGroup(original.name()));
+ QVERIFY(!cf2.hasGroup(copy.name())); // make sure we didn't copy more than we wanted
+ QCOMPARE(newGroup.entryMap(), original.entryMap());
+}
+
+void KConfigTest::testConfigCopyToSync()
+{
+ KConfig cf1(s_kconfig_test_subdir);
+ // Prepare source file
+ KConfigGroup group(&cf1, QStringLiteral("CopyToTest"));
+ group.writeEntry("Type", "Test");
+ QVERIFY(cf1.sync());
+
+ // Copy to "destination"
+ const QString destination = m_testConfigDir + QLatin1String("/kconfigcopytotest");
+ QFile::remove(destination);
+
+ KConfig cf2(s_test_subdir + QLatin1String("kconfigcopytotest"));
+ KConfigGroup group2(&cf2, QStringLiteral("CopyToTest"));
+
+ group.copyTo(&group2);
+
+ QString testVal = group2.readEntry("Type");
+ QCOMPARE(testVal, QStringLiteral("Test"));
+ // should write to disk the copied data from group
+ QVERIFY(cf2.sync());
+ QVERIFY(QFile::exists(destination));
+}
+
+void KConfigTest::testConfigCopyTo()
+{
+ KConfig cf1(s_kconfig_test_subdir);
+ {
+ // Prepare source file
+ KConfigGroup group(&cf1, QStringLiteral("CopyToTest"));
+ group.writeEntry("Type", "Test");
+ QVERIFY(cf1.sync());
+ }
+
+ {
+ // Copy to "destination"
+ const QString destination = m_testConfigDir + QLatin1String("/kconfigcopytotest");
+ QFile::remove(destination);
+ KConfig cf2;
+ cf1.copyTo(destination, &cf2);
+ KConfigGroup group2(&cf2, QStringLiteral("CopyToTest"));
+ QString testVal = group2.readEntry("Type");
+ QCOMPARE(testVal, QStringLiteral("Test"));
+ QVERIFY(cf2.sync());
+ QVERIFY(QFile::exists(destination));
+ }
+
+ // Check copied config file on disk
+ KConfig cf3(s_test_subdir + QLatin1String("kconfigcopytotest"));
+ KConfigGroup group3(&cf3, QStringLiteral("CopyToTest"));
+ QString testVal = group3.readEntry("Type");
+ QCOMPARE(testVal, QStringLiteral("Test"));
+}
+
+void KConfigTest::testReparent()
+{
+ KConfig cf(s_kconfig_test_subdir);
+ const QString name(QStringLiteral("Enum Types"));
+ KConfigGroup group = cf.group(name);
+ const QMap<QString, QString> originalMap = group.entryMap();
+ KConfigGroup parent = cf.group(QStringLiteral("Parent Group"));
+
+ QVERIFY(!parent.hasGroup(name));
+
+ QVERIFY(group.entryMap() == originalMap);
+
+ group.reparent(&parent); // see if it can be made a sub-group of another group
+ QVERIFY(parent.hasGroup(name));
+ QCOMPARE(group.entryMap(), originalMap);
+
+ group.reparent(&cf); // see if it can make it a top-level group again
+ // QVERIFY(!parent.hasGroup(name));
+ QCOMPARE(group.entryMap(), originalMap);
+}
+
+static void ageTimeStamp(const QString &path, int nsec)
+{
+#ifdef Q_OS_UNIX
+ QDateTime mtime = QFileInfo(path).lastModified().addSecs(-nsec);
+ struct utimbuf utbuf;
+ utbuf.actime = mtime.toSecsSinceEpoch();
+ utbuf.modtime = utbuf.actime;
+ utime(QFile::encodeName(path).constData(), &utbuf);
+#else
+ QTest::qSleep(nsec * 1000);
+#endif
+}
+
+void KConfigTest::testWriteOnSync()
+{
+ QDateTime oldStamp;
+ QDateTime newStamp;
+ KConfig sc(s_kconfig_test_subdir, KConfig::IncludeGlobals);
+
+ // Age the timestamp of global config file a few sec, and collect it.
+ QString globFile = m_kdeGlobalsPath;
+ ageTimeStamp(globFile, 2); // age 2 sec
+ oldStamp = QFileInfo(globFile).lastModified();
+
+ // Add a local entry and sync the config.
+ // Should not rewrite the global config file.
+ KConfigGroup cgLocal(&sc, QStringLiteral("Locals"));
+ cgLocal.writeEntry("someLocalString", "whatever");
+ QVERIFY(sc.sync());
+
+ // Verify that the timestamp of global config file didn't change.
+ newStamp = QFileInfo(globFile).lastModified();
+ QCOMPARE(newStamp, oldStamp);
+
+ // Age the timestamp of local config file a few sec, and collect it.
+ QString locFile = m_testConfigDir + QLatin1String("/kconfigtest");
+ ageTimeStamp(locFile, 2); // age 2 sec
+ oldStamp = QFileInfo(locFile).lastModified();
+
+ // Add a global entry and sync the config.
+ // Should not rewrite the local config file.
+ KConfigGroup cgGlobal(&sc, QStringLiteral("Globals"));
+ cgGlobal.writeEntry("someGlobalString", "whatever", KConfig::Persistent | KConfig::Global);
+ QVERIFY(sc.sync());
+
+ // Verify that the timestamp of local config file didn't change.
+ newStamp = QFileInfo(locFile).lastModified();
+ QCOMPARE(newStamp, oldStamp);
+}
+
+void KConfigTest::testFailOnReadOnlyFileSync()
+{
+ KConfig sc(s_test_subdir + QLatin1String("kconfigfailonreadonlytest"));
+ KConfigGroup cgLocal(&sc, QStringLiteral("Locals"));
+
+ cgLocal.writeEntry("someLocalString", "whatever");
+ QVERIFY(cgLocal.sync());
+
+ QFile f(m_testConfigDir + QLatin1String("kconfigfailonreadonlytest"));
+ QVERIFY(f.exists());
+ QVERIFY(f.setPermissions(QFileDevice::ReadOwner));
+
+#ifndef Q_OS_WIN
+ if (::getuid() == 0) {
+ QSKIP("Root can write to read-only files");
+ }
+#endif
+ cgLocal.writeEntry("someLocalString", "whatever2");
+ QVERIFY(!cgLocal.sync());
+
+ QVERIFY(f.setPermissions(QFileDevice::ReadOwner | QFileDevice::WriteOwner));
+ QVERIFY(f.remove());
+}
+
+void KConfigTest::testDirtyOnEqual()
+{
+ QDateTime oldStamp;
+ QDateTime newStamp;
+ KConfig sc(s_kconfig_test_subdir);
+
+ // Initialize value
+ KConfigGroup cgLocal(&sc, QStringLiteral("random"));
+ cgLocal.writeEntry("theKey", "whatever");
+ QVERIFY(sc.sync());
+
+ // Age the timestamp of local config file a few sec, and collect it.
+ QString locFile = m_testConfigDir + QLatin1String("/kconfigtest");
+ ageTimeStamp(locFile, 2); // age 2 sec
+ oldStamp = QFileInfo(locFile).lastModified();
+
+ // Write exactly the same again
+ cgLocal.writeEntry("theKey", "whatever");
+ // This should be a no-op
+ QVERIFY(sc.sync());
+
+ // Verify that the timestamp of local config file didn't change.
+ newStamp = QFileInfo(locFile).lastModified();
+ QCOMPARE(newStamp, oldStamp);
+}
+
+void KConfigTest::testDirtyOnEqualOverdo()
+{
+ QByteArray val1(
+ "\0"
+ "one",
+ 4);
+ QByteArray val2(
+ "\0"
+ "two",
+ 4);
+ QByteArray defvalr;
+
+ KConfig sc(s_kconfig_test_subdir);
+ KConfigGroup cgLocal(&sc, QStringLiteral("random"));
+ cgLocal.writeEntry("someKey", val1);
+ QCOMPARE(cgLocal.readEntry("someKey", defvalr), val1);
+ cgLocal.writeEntry("someKey", val2);
+ QCOMPARE(cgLocal.readEntry("someKey", defvalr), val2);
+}
+
+void KConfigTest::testCreateDir()
+{
+ // Test auto-creating the parent directory when needed (KConfigIniBackend::createEnclosing)
+ QTemporaryDir tmpDir(QDir::tempPath() + QStringLiteral("/fakehome_XXXXXX"));
+ QVERIFY(tmpDir.isValid());
+ const QString kdehome = tmpDir.path() + QLatin1String("/.kde-unit-test");
+ const QString subdir = kdehome + QLatin1String("/newsubdir");
+ const QString file = subdir + QLatin1String("/foo.desktop");
+ QFile::remove(file);
+ QDir().rmdir(subdir);
+ QVERIFY(!QDir().exists(subdir));
+ KDesktopFile desktopFile(file);
+ desktopFile.desktopGroup().writeEntry("key", "value");
+ QVERIFY(desktopFile.sync());
+ QVERIFY(QFile::exists(file));
+
+ // Cleanup
+ QFile::remove(file);
+ QDir().rmdir(subdir);
+}
+
+void KConfigTest::testSyncOnExit()
+{
+ // Often, the KGlobalPrivate global static's destructor ends up calling ~KConfig ->
+ // KConfig::sync ... and if that code triggers KGlobal code again then things could crash.
+ // So here's a test for modifying KSharedConfig::openConfig() and not syncing, the process exit will sync.
+ KConfigGroup grp(KSharedConfig::openConfig(s_test_subdir + QLatin1String("syncOnExitRc")), QStringLiteral("syncOnExit"));
+ grp.writeEntry("key", "value");
+}
+
+void KConfigTest::testSharedConfig()
+{
+ // Can I use a KConfigGroup even after the KSharedConfigPtr goes out of scope?
+ KConfigGroup myConfigGroup;
+ {
+ KSharedConfigPtr config = KSharedConfig::openConfig(s_kconfig_test_subdir);
+ myConfigGroup = KConfigGroup(config, QStringLiteral("Hello"));
+ }
+ QCOMPARE(myConfigGroup.readEntry("stringEntry1"), s_string_entry1);
+
+ // Get the main config
+ KSharedConfigPtr mainConfig = KSharedConfig::openConfig();
+ KConfigGroup mainGroup(mainConfig, QStringLiteral("Main"));
+ QCOMPARE(mainGroup.readEntry("Key", QString{}), QStringLiteral("Value"));
+}
+
+void KConfigTest::testLocaleConfig()
+{
+ // Initialize the testdata
+ QDir().mkpath(m_testConfigDir);
+ const QString file = m_testConfigDir + QLatin1String("/localized.test");
+ QFile::remove(file);
+ QFile f(file);
+ QVERIFY(f.open(QIODevice::WriteOnly));
+ QTextStream ts(&f);
+ ts << "[Test_Wrong]\n";
+ ts << "foo[ca]=5\n";
+ ts << "foostring[ca]=nice\n";
+ ts << "foobool[ca]=true\n";
+ ts << "[Test_Right]\n";
+ ts << "foo=5\n";
+ ts << "foo[ca]=5\n";
+ ts << "foostring=primary\n";
+ ts << "foostring[ca]=nice\n";
+ ts << "foobool=primary\n";
+ ts << "foobool[ca]=true\n";
+ f.close();
+
+ // Load the testdata
+ QVERIFY(QFile::exists(file));
+ KConfig config(file);
+ config.setLocale(QStringLiteral("ca"));
+
+ // This group has only localized values. That is not supported. The values
+ // should be dropped on loading.
+ KConfigGroup cg(&config, QStringLiteral("Test_Wrong"));
+ QEXPECT_FAIL("", "The localized values are not dropped", Continue);
+ QVERIFY(!cg.hasKey("foo"));
+ QEXPECT_FAIL("", "The localized values are not dropped", Continue);
+ QVERIFY(!cg.hasKey("foostring"));
+ QEXPECT_FAIL("", "The localized values are not dropped", Continue);
+ QVERIFY(!cg.hasKey("foobool"));
+
+ // Now check the correct config group
+ KConfigGroup cg2(&config, QStringLiteral("Test_Right"));
+ QCOMPARE(cg2.readEntry("foo"), QStringLiteral("5"));
+ QCOMPARE(cg2.readEntry("foo", 3), 5);
+ QCOMPARE(cg2.readEntry("foostring"), QStringLiteral("nice"));
+ QCOMPARE(cg2.readEntry("foostring", "ugly"), QStringLiteral("nice"));
+ QCOMPARE(cg2.readEntry("foobool"), QStringLiteral("true"));
+ QCOMPARE(cg2.readEntry("foobool", false), true);
+
+ // Clean up after the testcase
+ QFile::remove(file);
+}
+
+void KConfigTest::testDeleteWhenLocalized()
+{
+ // Initialize the testdata
+ QTemporaryDir tmpDir(QDir::tempPath() + QStringLiteral("/fakehome_XXXXXX"));
+ QVERIFY(tmpDir.isValid());
+ const QString subdir = tmpDir.path() + QLatin1String("/.kde-unit-test/");
+ QDir().mkpath(subdir);
+ const QString file = subdir + QLatin1String("/localized_delete.test");
+ QFile::remove(file);
+ QFile f(file);
+ QVERIFY(f.open(QIODevice::WriteOnly));
+ QTextStream ts(&f);
+ ts << "[Test4711]\n";
+ ts << "foo=3\n";
+ ts << "foo[ca]=5\n";
+ ts << "foo[de]=7\n";
+ ts << "foostring=ugly\n";
+ ts << "foostring[ca]=nice\n";
+ ts << "foostring[de]=schoen\n";
+ ts << "foobool=false\n";
+ ts << "foobool[ca]=true\n";
+ ts << "foobool[de]=true\n";
+ f.close();
+
+ // Load the testdata. We start in locale "ca".
+ QVERIFY(QFile::exists(file));
+ KConfig config(file);
+ config.setLocale(QStringLiteral("ca"));
+ KConfigGroup cg(&config, QStringLiteral("Test4711"));
+
+ // Delete a value. Once with localized, once with Normal
+ cg.deleteEntry("foostring", KConfigBase::Persistent | KConfigBase::Localized);
+ cg.deleteEntry("foobool");
+ QVERIFY(config.sync());
+
+ // The value is now gone. The others are still there. Everything correct
+ // here.
+ QVERIFY(!cg.hasKey("foostring"));
+ QVERIFY(!cg.hasKey("foobool"));
+ QVERIFY(cg.hasKey("foo"));
+
+ // The current state is: (Just return before this comment.)
+ // [...]
+ // foobool[ca]=true
+ // foobool[de]=wahr
+ // foostring=ugly
+ // foostring[de]=schoen
+
+ // Now switch the locale to "de" and repeat the checks. Results should be
+ // the same. But they currently are not. The localized value are
+ // independent of each other. All values are still there in "de".
+ config.setLocale(QStringLiteral("de"));
+ QEXPECT_FAIL("", "Currently localized values are not deleted correctly", Continue);
+ QVERIFY(!cg.hasKey("foostring"));
+ QEXPECT_FAIL("", "Currently localized values are not deleted correctly", Continue);
+ QVERIFY(!cg.hasKey("foobool"));
+ QVERIFY(cg.hasKey("foo"));
+ // Check where the wrong values come from.
+ // We get the "de" value.
+ QCOMPARE(cg.readEntry("foostring", "nothing"), QStringLiteral("schoen"));
+ // We get the "de" value.
+ QCOMPARE(cg.readEntry("foobool", false), true);
+
+ // Now switch the locale back "ca" and repeat the checks. Results are
+ // again different.
+ config.setLocale(QStringLiteral("ca"));
+ // This line worked above. But now it fails.
+ QEXPECT_FAIL("", "Currently localized values are not deleted correctly", Continue);
+ QVERIFY(!cg.hasKey("foostring"));
+ // This line worked above too.
+ QEXPECT_FAIL("", "Currently localized values are not deleted correctly", Continue);
+ QVERIFY(!cg.hasKey("foobool"));
+ QVERIFY(cg.hasKey("foo"));
+ // Check where the wrong values come from.
+ // We get the primary value because the "ca" value was deleted.
+ QCOMPARE(cg.readEntry("foostring", "nothing"), QStringLiteral("ugly"));
+ // We get the "ca" value.
+ QCOMPARE(cg.readEntry("foobool", false), true);
+
+ // Now test the deletion of a group.
+ cg.deleteGroup();
+ QVERIFY(config.sync());
+
+ // Current state: [ca] and [de] entries left... oops.
+ // qDebug() << readLinesFrom(file);
+
+ // Bug: The group still exists [because of the localized entries]...
+ QVERIFY(cg.exists());
+ QVERIFY(!cg.hasKey("foo"));
+ QVERIFY(!cg.hasKey("foostring"));
+ QEXPECT_FAIL("", "Currently localized values are not deleted correctly", Continue);
+ QVERIFY(!cg.hasKey("foobool"));
+
+ // Now switch the locale to "de" and repeat the checks. All values
+ // still here because only the primary values are deleted.
+ config.setLocale(QStringLiteral("de"));
+ QEXPECT_FAIL("", "Currently localized values are not deleted correctly", Continue);
+ QVERIFY(!cg.hasKey("foo"));
+ QEXPECT_FAIL("", "Currently localized values are not deleted correctly", Continue);
+ QVERIFY(!cg.hasKey("foostring"));
+ QEXPECT_FAIL("", "Currently localized values are not deleted correctly", Continue);
+ QVERIFY(!cg.hasKey("foobool"));
+ // Check where the wrong values come from.
+ // We get the "de" value.
+ QCOMPARE(cg.readEntry("foostring", "nothing"), QStringLiteral("schoen"));
+ // We get the "de" value.
+ QCOMPARE(cg.readEntry("foobool", false), true);
+ // We get the "de" value.
+ QCOMPARE(cg.readEntry("foo", 0), 7);
+
+ // Now switch the locale to "ca" and repeat the checks
+ // "foostring" is now really gone because both the primary value and the
+ // "ca" value are deleted.
+ config.setLocale(QStringLiteral("ca"));
+ QEXPECT_FAIL("", "Currently localized values are not deleted correctly", Continue);
+ QVERIFY(!cg.hasKey("foo"));
+ QVERIFY(!cg.hasKey("foostring"));
+ QEXPECT_FAIL("", "Currently localized values are not deleted correctly", Continue);
+ QVERIFY(!cg.hasKey("foobool"));
+ // Check where the wrong values come from.
+ // We get the "ca" value.
+ QCOMPARE(cg.readEntry("foobool", false), true);
+ // We get the "ca" value.
+ QCOMPARE(cg.readEntry("foo", 0), 5);
+
+ // Cleanup
+ QFile::remove(file);
+}
+
+void KConfigTest::testKdeGlobals()
+{
+ {
+ KConfig glob(QStringLiteral("kdeglobals"));
+ KConfigGroup general(&glob, QStringLiteral("General"));
+ general.writeEntry("testKG", "1");
+ QVERIFY(glob.sync());
+ }
+
+ KConfig globRead(QStringLiteral("kdeglobals"));
+ const KConfigGroup general(&globRead, QStringLiteral("General"));
+ QCOMPARE(general.readEntry("testKG"), QStringLiteral("1"));
+
+ // Check we wrote into kdeglobals
+ const QList<QByteArray> lines = readLines(QStringLiteral("kdeglobals"));
+ QVERIFY(lines.contains("[General]\n"));
+ QVERIFY(lines.contains("testKG=1\n"));
+
+ // Writing using NoGlobals
+ {
+ KConfig glob(QStringLiteral("kdeglobals"), KConfig::NoGlobals);
+ KConfigGroup general(&glob, QStringLiteral("General"));
+ general.writeEntry("testKG", "2");
+ QVERIFY(glob.sync());
+ }
+ globRead.reparseConfiguration();
+ QCOMPARE(general.readEntry("testKG"), QStringLiteral("2"));
+
+ // Reading using NoGlobals
+ {
+ KConfig globReadNoGlob(QStringLiteral("kdeglobals"), KConfig::NoGlobals);
+ const KConfigGroup generalNoGlob(&globReadNoGlob, QStringLiteral("General"));
+ QCOMPARE(generalNoGlob.readEntry("testKG"), QStringLiteral("2"));
+ }
+}
+
+void KConfigTest::testLocalDeletion()
+{
+ // Prepare kdeglobals
+ {
+ KConfig glob(QStringLiteral("kdeglobals"));
+ KConfigGroup general(&glob, QStringLiteral("OwnTestGroup"));
+ general.writeEntry("GlobalKey", "DontTouchMe");
+ QVERIFY(glob.sync());
+ }
+
+ QStringList expectedKeys{QStringLiteral("LocalKey")};
+ expectedKeys.prepend(QStringLiteral("GlobalWrite"));
+
+ // Write into kconfigtest, including deleting GlobalKey
+ {
+ KConfig mainConfig(s_kconfig_test_subdir);
+ KConfigGroup mainGroup(&mainConfig, QStringLiteral("OwnTestGroup"));
+ mainGroup.writeEntry("LocalKey", QStringLiteral("LocalValue"));
+ mainGroup.writeEntry("GlobalWrite", QStringLiteral("GlobalValue"), KConfig::Persistent | KConfig::Global); // goes to kdeglobals
+ QCOMPARE(mainGroup.readEntry("GlobalKey"), QStringLiteral("DontTouchMe"));
+ mainGroup.deleteEntry("GlobalKey"); // local deletion ([$d]), kdeglobals is unchanged
+ QCOMPARE(mainGroup.readEntry("GlobalKey", "Default"), QStringLiteral("Default")); // key is gone
+ QCOMPARE(mainGroup.keyList(), expectedKeys);
+ }
+
+ // Check what ended up in kconfigtest
+ const QList<QByteArray> lines = readLines();
+ QVERIFY(lines.contains("[OwnTestGroup]\n"));
+ QVERIFY(lines.contains("GlobalKey[$d]\n"));
+
+ // Check what ended up in kdeglobals
+ {
+ KConfig globReadNoGlob(QStringLiteral("kdeglobals"), KConfig::NoGlobals);
+ const KConfigGroup generalNoGlob(&globReadNoGlob, QStringLiteral("OwnTestGroup"));
+ QCOMPARE(generalNoGlob.readEntry("GlobalKey"), QStringLiteral("DontTouchMe"));
+ QCOMPARE(generalNoGlob.readEntry("GlobalWrite"), QStringLiteral("GlobalValue"));
+ QVERIFY(!generalNoGlob.hasKey("LocalValue"));
+ QStringList expectedGlobalKeys{QStringLiteral("GlobalKey")};
+ expectedGlobalKeys.append(QStringLiteral("GlobalWrite"));
+ QCOMPARE(generalNoGlob.keyList(), expectedGlobalKeys);
+ }
+
+ // Check what we see when re-reading the config file
+ {
+ KConfig mainConfig(s_kconfig_test_subdir);
+ KConfigGroup mainGroup(&mainConfig, QStringLiteral("OwnTestGroup"));
+ QCOMPARE(mainGroup.readEntry("GlobalKey", "Default"), QStringLiteral("Default")); // key is gone
+ QCOMPARE(mainGroup.keyList(), expectedKeys);
+ }
+}
+
+void KConfigTest::testAnonymousConfig()
+{
+ KConfig anonConfig(QString(), KConfig::SimpleConfig);
+ KConfigGroup general(&anonConfig, QStringLiteral("General"));
+ QCOMPARE(general.readEntry("testKG"), QString()); // no kdeglobals merging
+ general.writeEntry("Foo", "Bar");
+ QCOMPARE(general.readEntry("Foo"), QStringLiteral("Bar"));
+}
+
+void KConfigTest::testQByteArrayUtf8()
+{
+ QTemporaryFile file;
+ QVERIFY(file.open());
+ KConfig config(file.fileName(), KConfig::SimpleConfig);
+ KConfigGroup general(&config, QStringLiteral("General"));
+ QByteArray bytes(256, '\0');
+ for (int i = 0; i < 256; i++) {
+ bytes[i] = i;
+ }
+ general.writeEntry("Utf8", bytes);
+ config.sync();
+ file.flush();
+ file.close();
+ QFile readFile(file.fileName());
+ QVERIFY(readFile.open(QFile::ReadOnly));
+#define VALUE \
+ "Utf8=" \
+ "\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x" \
+ "1f " \
+ "!\"#$%&'()*+,-./" \
+ "0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~" \
+ "\\x7f\\x80\\x81\\x82\\x83\\x84\\x85\\x86\\x87\\x88\\x89\\x8a\\x8b\\x8c\\x8d\\x8e\\x8f\\x90\\x91\\x92\\x93\\x94\\x95\\x96\\x97\\x98\\x99\\x9a\\x9b\\x9c\\" \
+ "x9d\\x9e\\x9f\\xa0\\xa1\\xa2\\xa3\\xa4\\xa5\\xa6\\xa7\\xa8\\xa9\\xaa\\xab\\xac\\xad\\xae\\xaf\\xb0\\xb1\\xb2\\xb3\\xb4\\xb5\\xb6\\xb7\\xb8\\xb9\\xba\\xb" \
+ "b\\xbc\\xbd\\xbe\\xbf\\xc0\\xc1\\xc2\\xc3\\xc4\\xc5\\xc6\\xc7\\xc8\\xc9\\xca\\xcb\\xcc\\xcd\\xce\\xcf\\xd0\\xd1\\xd2\\xd3\\xd4\\xd5\\xd6\\xd7\\xd8\\xd9" \
+ "\\xda\\xdb\\xdc\\xdd\\xde\\xdf\\xe0\\xe1\\xe2\\xe3\\xe4\\xe5\\xe6\\xe7\\xe8\\xe9\\xea\\xeb\\xec\\xed\\xee\\xef\\xf0\\xf1\\xf2\\xf3\\xf4\\xf5\\xf6\\xf7\\" \
+ "xf8\\xf9\\xfa\\xfb\\xfc\\xfd\\xfe\\xff"
+ const QByteArray fileBytes = readFile.readAll();
+#ifndef Q_OS_WIN
+ QCOMPARE(fileBytes, QByteArrayLiteral("[General]\n" VALUE "\n"));
+#else
+ QCOMPARE(fileBytes, QByteArrayLiteral("[General]\r\n" VALUE "\r\n"));
+#endif
+#undef VALUE
+
+ // check that reading works
+ KConfig config2(file.fileName(), KConfig::SimpleConfig);
+ KConfigGroup general2(&config2, QStringLiteral("General"));
+ QCOMPARE(bytes, general2.readEntry("Utf8", QByteArray()));
+}
+
+void KConfigTest::testQStringUtf8_data()
+{
+ QTest::addColumn<QByteArray>("data");
+ QTest::newRow("1") << QByteArray("Téléchargements\tTéléchargements");
+ QTest::newRow("2") << QByteArray("$¢ह€𐍈\t$¢ह€𐍈");
+ QTest::newRow("3") << QByteArray("\xc2\xe0\xa4\xf0\x90\x8d\t\\xc2\\xe0\\xa4\\xf0\\x90\\x8d");
+ // 2 byte overlong
+ QTest::newRow("4") << QByteArray("\xc1\xbf\t\\xc1\\xbf");
+ // 3 byte overlong
+ QTest::newRow("5") << QByteArray("\xe0\x9f\xbf\t\\xe0\\x9f\\xbf");
+ // 4 byte overlong
+ QTest::newRow("6") << QByteArray("\xf0\x8f\xbf\xbf\t\\xf0\\x8f\\xbf\\xbf");
+ // outside unicode range
+ QTest::newRow("7") << QByteArray("\xf4\x90\x80\x80\t\\xf4\\x90\\x80\\x80");
+ // just within range
+ QTest::newRow("8") << QByteArray("\xc2\x80\t\xc2\x80");
+ QTest::newRow("9") << QByteArray("\xe0\xa0\x80\t\xe0\xa0\x80");
+ QTest::newRow("10") << QByteArray("\xf0\x90\x80\x80\t\xf0\x90\x80\x80");
+ QTest::newRow("11") << QByteArray("\xf4\x8f\xbf\xbf\t\xf4\x8f\xbf\xbf");
+}
+
+void KConfigTest::testQStringUtf8()
+{
+ QFETCH(QByteArray, data);
+ const QList<QByteArray> d = data.split('\t');
+ const QByteArray value = d[0];
+ const QByteArray serialized = d[1];
+ QTemporaryFile file;
+ QVERIFY(file.open());
+ KConfig config(file.fileName(), KConfig::SimpleConfig);
+ KConfigGroup general(&config, QStringLiteral("General"));
+ general.writeEntry("key", value);
+ config.sync();
+ file.flush();
+ file.close();
+ QFile readFile(file.fileName());
+ QVERIFY(readFile.open(QFile::ReadOnly));
+ QByteArray fileBytes = readFile.readAll();
+#ifdef Q_OS_WIN
+ fileBytes.replace(QByteArrayLiteral("\r\n"), QByteArrayLiteral("\n"));
+#endif
+ QCOMPARE(fileBytes, QByteArrayLiteral("[General]\nkey=") + serialized + QByteArrayLiteral("\n"));
+
+ // check that reading works
+ KConfig config2(file.fileName(), KConfig::SimpleConfig);
+ KConfigGroup general2(&config2, QStringLiteral("General"));
+ QCOMPARE(value, general2.readEntry("key", QByteArray()));
+}
+
+void KConfigTest::testNewlines()
+{
+ // test that kconfig always uses the native line endings
+ QTemporaryFile file;
+ QVERIFY(file.open());
+ KConfig anonConfig(file.fileName(), KConfig::SimpleConfig);
+ KConfigGroup general(&anonConfig, QStringLiteral("General"));
+ general.writeEntry("Foo", "Bar");
+ general.writeEntry("Bar", "Foo");
+ anonConfig.sync();
+ file.flush();
+ file.close();
+ QFile readFile(file.fileName());
+ QVERIFY(readFile.open(QFile::ReadOnly));
+#ifndef Q_OS_WIN
+ QCOMPARE(readFile.readAll(), QByteArrayLiteral("[General]\nBar=Foo\nFoo=Bar\n"));
+#else
+ QCOMPARE(readFile.readAll(), QByteArrayLiteral("[General]\r\nBar=Foo\r\nFoo=Bar\r\n"));
+#endif
+}
+
+void KConfigTest::testMoveValuesTo()
+{
+ QTemporaryFile file;
+ QVERIFY(file.open());
+ // Prepare kdeglobals
+ {
+ KConfig glob(QStringLiteral("kdeglobals"));
+ KConfigGroup general(&glob, QStringLiteral("TestGroup"));
+ general.writeEntry("GlobalKey", "PlsDeleteMe");
+ QVERIFY(glob.sync());
+ }
+
+ KConfigGroup grp = KSharedConfig::openConfig(file.fileName())->group(QStringLiteral("TestGroup"));
+
+ grp.writeEntry("test1", "first_value");
+ grp.writeEntry("test_empty", "");
+ grp.writeEntry("other", "other_value");
+ grp.writePathEntry("my_path", QStringLiteral("~/somepath"));
+ // because this key is from the global file it should be explicitly deleted
+ grp.deleteEntry("GlobalKey");
+
+ QTemporaryFile targetFile;
+ QVERIFY(targetFile.open());
+ targetFile.close();
+ KConfigGroup targetGroup = KSharedConfig::openConfig(targetFile.fileName(), KConfig::SimpleConfig)->group(QStringLiteral("MoveToGroup"));
+
+ grp.moveValuesTo({"test1", "test_empty", "does_not_exist", "my_path", "GlobalKey"}, targetGroup);
+ QVERIFY(grp.config()->isDirty());
+ QVERIFY(targetGroup.config()->isDirty());
+
+ QCOMPARE(grp.keyList(), QStringList{QStringLiteral("other")});
+ QStringList expectedKeyList{QStringLiteral("my_path"), QStringLiteral("test1"), QStringLiteral("test_empty")};
+ QCOMPARE(targetGroup.keyList(), expectedKeyList);
+ QCOMPARE(targetGroup.readEntry("test1"), QStringLiteral("first_value"));
+
+ targetGroup.sync();
+ QFile targetReadFile(targetFile.fileName());
+ targetReadFile.open(QFile::ReadOnly);
+ QVERIFY(targetReadFile.readAll().contains(QByteArray("my_path[$e]=~/somepath")));
+}
+
+void KConfigTest::testMoveAllValuesTo()
+{
+ QTemporaryFile file;
+ QVERIFY(file.open());
+ // Prepare kdeglobals
+ {
+ KConfig glob(QStringLiteral("kdeglobals"));
+ KConfigGroup general(&glob, QStringLiteral("TestGroup"));
+ general.writeEntry("GlobalKey", "PlsDeleteMe");
+ QVERIFY(glob.sync());
+ }
+
+ KConfigGroup grp = KSharedConfig::openConfig(file.fileName())->group(QStringLiteral("TestGroup"));
+
+ grp.writeEntry("test1", "first_value");
+ grp.writeEntry("test_empty", "");
+ grp.writePathEntry("my_path", QStringLiteral("~/somepath"));
+ // because this key is from the global file it should be explicitly deleted
+ grp.deleteEntry("GlobalKey");
+
+ QTemporaryFile targetFile;
+ QVERIFY(targetFile.open());
+ targetFile.close();
+ KConfigGroup targetGroup = KSharedConfig::openConfig(targetFile.fileName(), KConfig::SimpleConfig)->group(QStringLiteral("MoveToGroup"));
+
+ grp.moveValuesTo(targetGroup);
+ QVERIFY(grp.config()->isDirty());
+ QVERIFY(targetGroup.config()->isDirty());
+
+ QStringList expectedKeyList{QStringLiteral("my_path"), QStringLiteral("test1"), QStringLiteral("test_empty")};
+ QCOMPARE(targetGroup.keyList(), expectedKeyList);
+ QCOMPARE(targetGroup.readEntry("test1"), QStringLiteral("first_value"));
+
+ targetGroup.sync();
+ QFile targetReadFile(targetFile.fileName());
+ targetReadFile.open(QFile::ReadOnly);
+ QVERIFY(targetReadFile.readAll().contains(QByteArray("my_path[$e]=~/somepath")));
+}
+
+void KConfigTest::testXdgListEntry()
+{
+ QTemporaryFile file;
+ QVERIFY(file.open());
+ QTextStream out(&file);
+ out << "[General]\n"
+ << "Key1=\n" // empty list
+ // emtpty entries
+ << "Key2=;\n"
+ << "Key3=;;\n"
+ << "Key4=;;;\n"
+ << "Key5=\\;\n"
+ << "Key6=1;2\\;3;;\n";
+ out.flush();
+ file.close();
+ KConfig anonConfig(file.fileName(), KConfig::SimpleConfig);
+ KConfigGroup grp = anonConfig.group(QStringLiteral("General"));
+ QStringList invalidList; // use this as a default when an empty list is expected
+ invalidList << QStringLiteral("Error! Default value read!");
+ QCOMPARE(grp.readXdgListEntry("Key1", invalidList), (QStringList{}));
+ QCOMPARE(grp.readXdgListEntry("Key2", invalidList), (QStringList{QString{}}));
+ QCOMPARE(grp.readXdgListEntry("Key3", invalidList), (QStringList{QString{}, QString{}}));
+ QCOMPARE(grp.readXdgListEntry("Key4", invalidList), (QStringList{QString{}, QString{}, QString{}}));
+ QCOMPARE(grp.readXdgListEntry("Key5", invalidList), (QStringList{QStringLiteral(";")}));
+ QCOMPARE(grp.readXdgListEntry("Key6", invalidList), (QStringList{QStringLiteral("1"), QStringLiteral("2;3"), QString{}}));
+}
+
+#include <QThreadPool>
+#include <qtconcurrentrun.h>
+
+// To find multithreading bugs: valgrind --tool=helgrind --track-lockorders=no ./kconfigtest testThreads
+void KConfigTest::testThreads()
+{
+ QThreadPool::globalInstance()->setMaxThreadCount(6);
+ // Run in parallel some tests that work on different config files,
+ // otherwise unexpected things might indeed happen.
+ const QList<QFuture<void>> futures = {
+ QtConcurrent::run(&KConfigTest::testAddConfigSources, this),
+ QtConcurrent::run(&KConfigTest::testSimple, this),
+ QtConcurrent::run(&KConfigTest::testDefaults, this),
+ QtConcurrent::run(&KConfigTest::testSharedConfig, this),
+ QtConcurrent::run(&KConfigTest::testSharedConfig, this),
+ };
+
+ // QEXPECT_FAIL triggers race conditions, it should be fixed to use QThreadStorage...
+ // futures << QtConcurrent::run(this, &KConfigTest::testDeleteWhenLocalized);
+ // futures << QtConcurrent::run(this, &KConfigTest::testEntryMap);
+ for (QFuture<void> f : futures) {
+ f.waitForFinished();
+ }
+}
+
+void KConfigTest::testNotify()
+{
+#if !KCONFIG_USE_DBUS
+ QSKIP("KConfig notification requires DBus");
+#endif
+
+ KConfig config(s_kconfig_test_subdir);
+ auto myConfigGroup = KConfigGroup(&config, QStringLiteral("TopLevelGroup"));
+
+ // mimics a config in another process, which is watching for events
+ auto remoteConfig = KSharedConfig::openConfig(s_kconfig_test_subdir);
+ KConfigWatcher::Ptr watcher = KConfigWatcher::create(remoteConfig);
+
+ // some random config that shouldn't be changing when kconfigtest changes, only on kdeglobals
+ auto otherRemoteConfig = KSharedConfig::openConfig(s_test_subdir + QLatin1String("kconfigtest2"));
+ KConfigWatcher::Ptr otherWatcher = KConfigWatcher::create(otherRemoteConfig);
+
+ QSignalSpy watcherSpy(watcher.data(), &KConfigWatcher::configChanged);
+ QSignalSpy otherWatcherSpy(otherWatcher.data(), &KConfigWatcher::configChanged);
+
+ // write entries in a group and subgroup
+ myConfigGroup.writeEntry("entryA", "foo", KConfig::Persistent | KConfig::Notify);
+ auto subGroup = myConfigGroup.group(QStringLiteral("aSubGroup"));
+ subGroup.writeEntry("entry1", "foo", KConfig::Persistent | KConfig::Notify);
+ subGroup.writeEntry("entry2", "foo", KConfig::Persistent | KConfig::Notify);
+ config.sync();
+ watcherSpy.wait();
+ QCOMPARE(watcherSpy.count(), 2);
+
+ std::sort(watcherSpy.begin(), watcherSpy.end(), [](QList<QVariant> a, QList<QVariant> b) {
+ return a[0].value<KConfigGroup>().name() < b[0].value<KConfigGroup>().name();
+ });
+
+ QCOMPARE(watcherSpy[0][0].value<KConfigGroup>().name(), QStringLiteral("TopLevelGroup"));
+ QCOMPARE(watcherSpy[0][1].value<QByteArrayList>(), QByteArrayList({"entryA"}));
+
+ QCOMPARE(watcherSpy[1][0].value<KConfigGroup>().name(), QStringLiteral("aSubGroup"));
+ QCOMPARE(watcherSpy[1][0].value<KConfigGroup>().parent().name(), QStringLiteral("TopLevelGroup"));
+ QCOMPARE(watcherSpy[1][1].value<QByteArrayList>(), QByteArrayList({"entry1", "entry2"}));
+
+ // delete an entry
+ watcherSpy.clear();
+ myConfigGroup.deleteEntry("entryA", KConfig::Persistent | KConfig::Notify);
+ config.sync();
+ watcherSpy.wait();
+ QCOMPARE(watcherSpy.count(), 1);
+ QCOMPARE(watcherSpy[0][0].value<KConfigGroup>().name(), QStringLiteral("TopLevelGroup"));
+ QCOMPARE(watcherSpy[0][1].value<QByteArrayList>(), QByteArrayList({"entryA"}));
+
+ // revert to default an entry
+ watcherSpy.clear();
+ myConfigGroup.revertToDefault("entryA", KConfig::Persistent | KConfig::Notify);
+ config.sync();
+ watcherSpy.wait();
+ QCOMPARE(watcherSpy.count(), 1);
+ QCOMPARE(watcherSpy[0][0].value<KConfigGroup>().name(), QStringLiteral("TopLevelGroup"));
+ QCOMPARE(watcherSpy[0][1].value<QByteArrayList>(), QByteArrayList({"entryA"}));
+
+ // deleting a group, should notify that every entry in that group has changed
+ watcherSpy.clear();
+ myConfigGroup.deleteGroup(QStringLiteral("aSubGroup"), KConfig::Persistent | KConfig::Notify);
+ config.sync();
+ watcherSpy.wait();
+ QCOMPARE(watcherSpy.count(), 1);
+ QCOMPARE(watcherSpy[0][0].value<KConfigGroup>().name(), QStringLiteral("aSubGroup"));
+ QCOMPARE(watcherSpy[0][1].value<QByteArrayList>(), QByteArrayList({"entry1", "entry2"}));
+
+ // global write still triggers our notification
+ watcherSpy.clear();
+ myConfigGroup.writeEntry("someGlobalEntry", "foo", KConfig::Persistent | KConfig::Notify | KConfig::Global);
+ config.sync();
+ watcherSpy.wait();
+ QCOMPARE(watcherSpy.count(), 1);
+ QCOMPARE(watcherSpy[0][0].value<KConfigGroup>().name(), QStringLiteral("TopLevelGroup"));
+ QCOMPARE(watcherSpy[0][1].value<QByteArrayList>(), QByteArrayList({"someGlobalEntry"}));
+
+ // watching another file should have only triggered from the kdeglobals change
+ QCOMPARE(otherWatcherSpy.count(), 1);
+ QCOMPARE(otherWatcherSpy[0][0].value<KConfigGroup>().name(), QStringLiteral("TopLevelGroup"));
+ QCOMPARE(otherWatcherSpy[0][1].value<QByteArrayList>(), QByteArrayList({"someGlobalEntry"}));
+}
+
+void KConfigTest::testNotifyIllegalObjectPath()
+{
+#if !KCONFIG_USE_DBUS
+ QSKIP("KConfig notification requires DBus");
+#endif
+
+ KConfig config(s_kconfig_test_illegal_object_path);
+ auto myConfigGroup = KConfigGroup(&config, QStringLiteral("General"));
+
+ // mimics a config in another process, which is watching for events
+ auto remoteConfig = KSharedConfig::openConfig(s_kconfig_test_illegal_object_path);
+ KConfigWatcher::Ptr watcher = KConfigWatcher::create(remoteConfig);
+
+ QSignalSpy watcherSpy(watcher.data(), &KConfigWatcher::configChanged);
+
+ // write entries in a group and subgroup
+ myConfigGroup.writeEntry("entryA", "foo", KConfig::Persistent | KConfig::Notify);
+ config.sync();
+ watcherSpy.wait();
+ QCOMPARE(watcherSpy.size(), 1);
+}
+
+void KConfigTest::testKAuthorizeEnums()
+{
+ KSharedConfig::Ptr config = KSharedConfig::openConfig();
+ KConfigGroup actionRestrictions = config->group(QStringLiteral("KDE Action Restrictions"));
+ actionRestrictions.writeEntry("shell_access", false);
+ actionRestrictions.writeEntry("action/open_with", false);
+
+ QVERIFY(!KAuthorized::authorize(KAuthorized::SHELL_ACCESS));
+ QVERIFY(!KAuthorized::authorizeAction(KAuthorized::OPEN_WITH));
+ actionRestrictions.deleteGroup();
+
+ QVERIFY(!KAuthorized::authorize((KAuthorized::GenericRestriction)0));
+ QVERIFY(!KAuthorized::authorizeAction((KAuthorized::GenericAction)0));
+}
+
+void KConfigTest::testKdeglobalsVsDefault()
+{
+ // Add testRestore key with global value in kdeglobals
+ KConfig glob(QStringLiteral("kdeglobals"));
+ KConfigGroup generalGlob(&glob, QStringLiteral("General"));
+ generalGlob.writeEntry("testRestore", "global");
+ QVERIFY(glob.sync());
+
+ KConfig local(s_test_subdir + QLatin1String("restorerc"));
+ KConfigGroup generalLocal(&local, QStringLiteral("General"));
+ // Check if we get global and not the default value from cpp (defaultcpp) when reading data from restorerc
+ QCOMPARE(generalLocal.readEntry("testRestore", "defaultcpp"), QStringLiteral("global"));
+
+ // Add test restore key with restore value in restorerc file
+ generalLocal.writeEntry("testRestore", "restore");
+ QVERIFY(local.sync());
+ local.reparseConfiguration();
+ // We expect to get the value from restorerc file
+ QCOMPARE(generalLocal.readEntry("testRestore", "defaultcpp"), QStringLiteral("restore"));
+
+ // Revert to default testRestore key and we expect to get default value and not the global one
+ generalLocal.revertToDefault("testRestore");
+ local.sync();
+ local.reparseConfiguration();
+ QCOMPARE(generalLocal.readEntry("testRestore", "defaultcpp"), QStringLiteral("defaultcpp"));
+}
+
+#include "moc_kconfigtest.cpp"
--- /dev/null
+/* This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 1997 Matthias Kalle Dalheimer <kalle@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGTEST_H
+#define KCONFIGTEST_H
+
+#include <QObject>
+
+class KConfigTest : public QObject
+{
+ Q_OBJECT
+
+public:
+ enum Testing {
+ Ones = 1,
+ Tens = 10,
+ Hundreds = 100,
+ };
+ Q_ENUM(Testing)
+ enum bits {
+ bit0 = 1,
+ bit1 = 2,
+ bit2 = 4,
+ bit3 = 8,
+ };
+ Q_DECLARE_FLAGS(Flags, bits)
+ Q_FLAG(Flags)
+
+private Q_SLOTS:
+ void initTestCase();
+ void cleanupTestCase();
+ void testSimple();
+ void testDefaults();
+ void testLists();
+ void testLocale();
+ void testEncoding();
+ void testPath();
+ void testPathQtHome();
+ void testPersistenceOfExpandFlagForPath();
+ void testComplex();
+ void testEnums();
+ void testEntryMap();
+ void testInvalid();
+ void testDeleteEntry();
+ void testDelete();
+ void testDeleteWhenLocalized();
+ void testDefaultGroup();
+ void testEmptyGroup();
+ void testCascadingWithLocale();
+ void testMerge();
+ void testImmutable();
+ void testGroupEscape();
+ void testRevertAllEntries();
+ void testChangeGroup();
+ void testGroupCopyTo();
+ void testConfigCopyTo();
+ void testConfigCopyToSync();
+ void testReparent();
+ void testAnonymousConfig();
+ void testQByteArrayUtf8();
+ void testQStringUtf8_data();
+ void testQStringUtf8();
+
+ void testMoveValuesTo();
+ void testMoveAllValuesTo();
+
+ void testSubGroup();
+ void testAddConfigSources();
+ void testWriteOnSync();
+ void testFailOnReadOnlyFileSync();
+ void testDirtyOnEqual();
+ void testDirtyOnEqualOverdo();
+ void testCreateDir();
+ void testSharedConfig();
+ void testOptionOrder();
+ void testLocaleConfig();
+ void testDirtyAfterRevert();
+ void testKdeGlobals();
+ void testLocalDeletion();
+ void testNewlines();
+ void testXdgListEntry();
+ void testNotify();
+ void testNotifyIllegalObjectPath();
+ void testKAuthorizeEnums();
+
+ void testThreads();
+
+ void testKdeglobalsVsDefault();
+
+ // should be last
+ void testSyncOnExit();
+
+private:
+ QString m_testConfigDir;
+ QString m_kdeGlobalsPath;
+};
+Q_DECLARE_OPERATORS_FOR_FLAGS(KConfigTest::Flags)
+
+#endif /* KCONFIGTEST_H */
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2006 David Faure <faure@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-only
+*/
+#include "kdesktopfiletest.h"
+#include "helper.h"
+#include <kconfiggroup.h>
+#include <kdesktopfileaction.h>
+#include <ksharedconfig.h>
+#include <qtemporaryfile.h>
+
+#include "kdesktopfile.h"
+
+#include <QTest>
+
+#if defined(Q_OS_UNIX)
+#include <unistd.h>
+#endif
+
+QTEST_MAIN(KDesktopFileTest)
+
+void KDesktopFileTest::initTestCase()
+{
+ QStandardPaths::setTestModeEnabled(true);
+
+ KConfigGroup actionRestrictions(KSharedConfig::openConfig(), QStringLiteral("KDE Action Restrictions"));
+ actionRestrictions.writeEntry("someBlockedAction", false);
+}
+
+void KDesktopFileTest::testRead()
+{
+ qputenv("TESTVAR", "value");
+ QTemporaryFile file(QDir::tempPath() + QStringLiteral("/testReadXXXXXX.desktop"));
+ QVERIFY(file.open());
+ const QString fileName = file.fileName();
+ QTextStream ts(&file);
+ ts << "[Desktop Entry]\n"
+ "Type= Application\n"
+ "Name=My Application\n"
+ "Icon = foo\n"
+ "URL[$e]=file:///tmp/$TESTVAR\n"
+ "MimeType =text/plain;image/png;\n"
+ "\n";
+ file.close();
+ QVERIFY(QFile::exists(fileName));
+ QVERIFY(KDesktopFile::isDesktopFile(fileName));
+ KDesktopFile df(fileName);
+ QCOMPARE(df.readType(), QString::fromLatin1("Application"));
+ QVERIFY(df.hasApplicationType());
+ QCOMPARE(df.readName(), QString::fromLatin1("My Application"));
+ QCOMPARE(df.readIcon(), QString::fromLatin1("foo"));
+ QCOMPARE(df.readMimeTypes(), QStringList() << QString::fromLatin1("text/plain") << QString::fromLatin1("image/png"));
+ QVERIFY(!df.hasLinkType());
+ QCOMPARE(df.fileName(), QFileInfo(fileName).canonicalFilePath());
+ QCOMPARE(df.readUrl(), QStringLiteral("file:///tmp/value"));
+}
+
+void KDesktopFileTest::testReadLocalized_data()
+{
+ QTest::addColumn<QLocale>("locale");
+ QTest::addColumn<QString>("translation");
+
+ const QString german = QStringLiteral("Meine Anwendung");
+ const QString swiss = QStringLiteral("Mein Anwendungsli");
+
+ QTest::newRow("de") << QLocale(QLocale::German) << german;
+ QTest::newRow("de_DE") << QLocale(QStringLiteral("de_DE")) << german;
+ QTest::newRow("de_DE@bayern") << QLocale(QStringLiteral("de_DE@bayern")) << german;
+ QTest::newRow("de@bayern") << QLocale(QStringLiteral("de@bayern")) << german;
+ QTest::newRow("de@freiburg") << QLocale(QStringLiteral("de@freiburg")) << QStringLiteral("Mein Anwendungsle");
+ // For CH we have a special translation
+ QTest::newRow("de_CH") << QLocale(QLocale::German, QLocale::Switzerland) << swiss;
+ QTest::newRow("de_CH@bern") << QLocale(QStringLiteral("de_CH@bern")) << swiss;
+ // Austria should fall back to "de"
+ QTest::newRow("de_AT") << QLocale(QLocale::German, QLocale::Austria) << german;
+ QTest::newRow("de_AT@tirol") << QLocale(QStringLiteral("de_AT@tirol")) << german;
+ // no translation for French
+ QTest::newRow("fr") << QLocale(QLocale::French) << QStringLiteral("My Application");
+}
+
+void KDesktopFileTest::testReadLocalized()
+{
+ QTemporaryFile file(QDir::tempPath() + QStringLiteral("/testReadLocalizedXXXXXX.desktop"));
+ QVERIFY(file.open());
+ const QString fileName = file.fileName();
+ QTextStream ts(&file);
+ ts << "[Desktop Entry]\n"
+ "Type=Application\n"
+ "Name=My Application\n"
+ "Name[de]=Meine Anwendung\n"
+ "Name[de@freiburg]=Mein Anwendungsle\n"
+ "Name[de_CH]=Mein Anwendungsli\n"
+ "Icon=foo\n"
+ "\n";
+ file.close();
+ QVERIFY(QFile::exists(fileName));
+ QVERIFY(KDesktopFile::isDesktopFile(fileName));
+
+ DefaultLocale defaultLocale;
+
+ QFETCH(QLocale, locale);
+ QLocale::setDefault(locale);
+ KDesktopFile df(fileName);
+
+ QEXPECT_FAIL("de@freiburg", "QLocale doesn't support modifiers", Continue);
+ QTEST(df.readName(), "translation");
+}
+
+void KDesktopFileTest::testSuccessfulTryExec()
+{
+ QTemporaryFile file(QDir::tempPath() + QStringLiteral("/testSuccessfulTryExecXXXXXX.desktop"));
+ QVERIFY(file.open());
+ const QString fileName = file.fileName();
+ QTextStream ts(&file);
+ ts << "[Desktop Entry]\n"
+ "TryExec=whoami\n"
+ "\n";
+ file.close();
+ QVERIFY(QFile::exists(fileName));
+ KDesktopFile df(fileName);
+ QCOMPARE(df.tryExec(), true);
+}
+
+void KDesktopFileTest::testUnsuccessfulTryExec()
+{
+ QTemporaryFile file(QDir::tempPath() + QStringLiteral("/testUnsuccessfulTryExecXXXXXX.desktop"));
+ QVERIFY(file.open());
+ const QString fileName = file.fileName();
+ QTextStream ts(&file);
+ ts << "[Desktop Entry]\n"
+ "TryExec=/does/not/exist\n"
+ "\n";
+ file.close();
+ QVERIFY(QFile::exists(fileName));
+ KDesktopFile df(fileName);
+ QCOMPARE(df.tryExec(), false);
+}
+
+void KDesktopFileTest::testActionGroup()
+{
+ QTemporaryFile file(QDir::tempPath() + QStringLiteral("/testActionGroupXXXXXX.desktop"));
+ QVERIFY(file.open());
+ const QString fileName = file.fileName();
+ QTextStream ts(&file);
+ ts << "[Desktop Entry]\n"
+ // make sure escaping of ';' using "\;" works
+ "Actions=encrypt;semi\\;colon;decrypt;\n"
+ "[Desktop Action encrypt]\n"
+ "Name=Encrypt file\n"
+ "[Desktop Action decrypt]\n"
+ "Name=Decrypt file\n"
+ // no escaping needed in group header
+ "[Desktop Action semi;colon]\n"
+ "Name=With semicolon\n"
+ "\n";
+ file.close();
+ QVERIFY(QFile::exists(fileName));
+ KDesktopFile df(fileName);
+ QCOMPARE(df.readType(), QString());
+ QCOMPARE(df.fileName(), QFileInfo(fileName).canonicalFilePath());
+ QCOMPARE(df.readActions(), (QStringList{QStringLiteral("encrypt"), QStringLiteral("semi;colon"), QStringLiteral("decrypt")}));
+ QCOMPARE(df.hasActionGroup(QStringLiteral("encrypt")), true);
+ QCOMPARE(df.hasActionGroup(QStringLiteral("semi;colon")), true);
+ QCOMPARE(df.hasActionGroup(QStringLiteral("decrypt")), true);
+ QCOMPARE(df.hasActionGroup(QStringLiteral("doesnotexist")), false);
+
+ const auto actions = df.actions();
+ QCOMPARE(actions.size(), 3);
+ QVERIFY(std::all_of(actions.begin(), actions.end(), [&fileName](const KDesktopFileAction &action) {
+ return action.desktopFilePath() == fileName;
+ }));
+ QCOMPARE(actions.at(0).actionsKey(), QStringLiteral("encrypt"));
+ QCOMPARE(actions.at(0).name(), QStringLiteral("Encrypt file"));
+ QCOMPARE(actions.at(1).actionsKey(), QStringLiteral("semi;colon"));
+ QCOMPARE(actions.at(1).name(), QStringLiteral("With semicolon"));
+ QCOMPARE(actions.at(2).name(), QStringLiteral("Decrypt file"));
+ QCOMPARE(actions.at(2).actionsKey(), QStringLiteral("decrypt"));
+ QCOMPARE(actions.at(2).name(), QStringLiteral("Decrypt file"));
+}
+
+void KDesktopFileTest::testIsAuthorizedDesktopFile()
+{
+ QTemporaryFile file(QDir::tempPath() + QStringLiteral("/testAuthXXXXXX.desktop"));
+ QVERIFY(file.open());
+ const QString fileName = file.fileName();
+ QTextStream ts(&file);
+ ts << "[Desktop Entry]\n"
+ "Type=Application\n"
+ "Name=My Application\n"
+ "Exec=kfoo\n"
+ "\n";
+ file.close();
+ QVERIFY(QFile::exists(fileName));
+
+#if defined(Q_OS_UNIX)
+ // Try to fix test failing in docker running as root
+ const QFileInfo entryInfo(fileName);
+ if (entryInfo.ownerId() == 0) {
+ // try to find a valid user/group combination
+ for (int i = 1; i < 100; ++i) {
+ if (chown(fileName.toLocal8Bit().constData(), i, i) == 0) {
+ break;
+ }
+ }
+ const QFileInfo entryInfo1(fileName);
+ if (entryInfo1.ownerId() == 0) {
+ QEXPECT_FAIL("", "Running test as root and could not find a non root user to change the ownership of the file too", Continue);
+ }
+ }
+#endif
+
+ QVERIFY(!KDesktopFile::isAuthorizedDesktopFile(fileName));
+
+ const QString autostartFile = QStandardPaths::locate(QStandardPaths::GenericConfigLocation, QStringLiteral("autostart/plasma-desktop.desktop"));
+ if (!autostartFile.isEmpty()) {
+ QVERIFY(KDesktopFile::isAuthorizedDesktopFile(autostartFile));
+ } else {
+ qWarning("Skipping test for plasma-desktop.desktop, not found. kde-workspace not installed?");
+ }
+}
+
+void KDesktopFileTest::testTryExecWithAuthorizeAction()
+{
+ {
+ QTemporaryFile file(QDir::tempPath() + QStringLiteral("/testAuthActionXXXXXX.desktop"));
+ QVERIFY(file.open());
+ const QString fileName = file.fileName();
+ QTextStream ts(&file);
+ ts << "[Desktop Entry]\n"
+ "Type=Application\n"
+ "Name=My Application\n"
+ "Exec=kfoo\n"
+ "TryExec=";
+#ifdef Q_OS_WIN
+ ts << "cmd\n";
+#else
+ ts << "bash\n";
+#endif
+ ts << "X-KDE-AuthorizeAction=someAction"
+ "\n";
+ file.close();
+
+ KDesktopFile desktopFile(fileName);
+ QVERIFY(desktopFile.tryExec());
+ }
+ {
+ QTemporaryFile file(QDir::tempPath() + QStringLiteral("/testAuthActionXXXXXX.desktop"));
+ QVERIFY(file.open());
+ const QString fileName = file.fileName();
+ QTextStream ts(&file);
+ ts << "[Desktop Entry]\n"
+ "Type=Application\n"
+ "Name=My Application\n"
+ "Exec=kfoo\n"
+ "TryExec=bash\n"
+ "X-KDE-AuthorizeAction=someBlockedAction"
+ "\n";
+ file.close();
+
+ KDesktopFile desktopFile(fileName);
+ QVERIFY(!desktopFile.tryExec());
+ }
+}
+
+void KDesktopFileTest::testLocateLocal_data()
+{
+ const QString systemConfigLocation = QStandardPaths::standardLocations(QStandardPaths::GenericConfigLocation).constLast();
+ const QString writableConfigLocation = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation);
+ const QString systemDataLocation = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation).constLast();
+ const QString writableDataLocation = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation);
+
+ QTest::addColumn<QString>("path");
+ QTest::addColumn<QString>("result");
+
+ QTest::newRow("configLocation, system-wide") << systemConfigLocation + QLatin1String{"/test.desktop"}
+ << writableConfigLocation + QLatin1String{"/test.desktop"};
+ QTest::newRow("autostart, system-wide") << systemConfigLocation + QLatin1String{"/autostart/test.desktop"}
+ << writableConfigLocation + QLatin1String{"/autostart/test.desktop"};
+ QTest::newRow("dataLocation, system-wide") << systemDataLocation + QLatin1String{"/test.desktop"} << writableDataLocation + QLatin1String{"/test.desktop"};
+ QTest::newRow("applications, system-wide") << systemDataLocation + QLatin1String{"/applications/test.desktop"}
+ << writableDataLocation + QLatin1String{"/applications/test.desktop"};
+ QTest::newRow("desktop-directories, system-wide") << systemDataLocation + QLatin1String{"/desktop-directories/test.directory"}
+ << writableDataLocation + QLatin1String{"/desktop-directories/test.directory"};
+ QTest::newRow("configLocation, writable") << writableConfigLocation + QLatin1String{"/test.desktop"}
+ << writableConfigLocation + QLatin1String{"/test.desktop"};
+ QTest::newRow("autostart, writable") << writableConfigLocation + QLatin1String{"/autostart/test.desktop"}
+ << writableConfigLocation + QLatin1String{"/autostart/test.desktop"};
+ QTest::newRow("dataLocation, writable") << writableDataLocation + QLatin1String{"/test.desktop"} << writableDataLocation + QLatin1String{"/test.desktop"};
+ QTest::newRow("applications, writable") << writableDataLocation + QLatin1String{"/applications/test.desktop"}
+ << writableDataLocation + QLatin1String{"/applications/test.desktop"};
+ QTest::newRow("desktop-directories, writable") << writableDataLocation + QLatin1String{"/desktop-directories/test.directory"}
+ << writableDataLocation + QLatin1String{"/desktop-directories/test.directory"};
+ QTest::newRow("unknown location") << QStringLiteral("/test.desktop") << writableDataLocation + QLatin1String{"/test.desktop"};
+}
+
+void KDesktopFileTest::testLocateLocal()
+{
+ QFETCH(QString, path);
+ QFETCH(QString, result);
+
+ QCOMPARE(KDesktopFile::locateLocal(path), result);
+}
+
+#include "moc_kdesktopfiletest.cpp"
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2006 David Faure <faure@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KDESKTOPFILETEST_H
+#define KDESKTOPFILETEST_H
+
+#include <QObject>
+#include <kconfigcore_export.h>
+
+class KDesktopFileTest : public QObject
+{
+ Q_OBJECT
+private Q_SLOTS:
+ void initTestCase();
+ void testRead();
+ void testReadLocalized_data();
+ void testReadLocalized();
+ void testUnsuccessfulTryExec();
+ void testSuccessfulTryExec();
+ void testActionGroup();
+ void testIsAuthorizedDesktopFile();
+ void testTryExecWithAuthorizeAction();
+ void testLocateLocal_data();
+ void testLocateLocal();
+};
+
+#endif /* KDESKTOPFILETEST_H */
--- /dev/null
+/* This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2007 Thomas Braxton <kde.braxton@gmail.com>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kentrymaptest.h"
+
+#include <QTest>
+
+// clazy:excludeall=non-pod-global-static
+
+static const QString group1{QStringLiteral("A Group")};
+static const QByteArray key1{"A Key"};
+static const QByteArray key2{"Another Key"};
+static const QByteArray value1{"A value"};
+static const QByteArray value2{"A different value"};
+
+QTEST_MAIN(KEntryMapTest)
+
+template<typename KeyTypeA, typename KeyTypeB>
+void KEntryMapTest::testKeyOrder()
+{
+ const KeyTypeA groupMarkerA(group1, {});
+ const KeyTypeA entryA(group1, key1);
+ const KeyTypeA localizedA(group1, key1, true, false);
+ const KeyTypeA localizedDefaultA(group1, key1, true, true);
+
+ const KeyTypeB entryB(group1, key1);
+ const KeyTypeB localizedB(group1, key1, true, false);
+ const KeyTypeB localizedDefaultB(group1, key1, true, true);
+ const KeyTypeB defaultEntryB(group1, key1, false, true);
+
+ // group marker should come before all entries
+ QVERIFY(groupMarkerA < entryB);
+ QVERIFY(groupMarkerA < defaultEntryB);
+ QVERIFY(groupMarkerA < localizedB);
+ QVERIFY(groupMarkerA < localizedDefaultB);
+
+ // localized should come before entry
+ QVERIFY(localizedA < entryB);
+
+ // localized-default should come after localized entry
+ QVERIFY(localizedA < localizedDefaultB);
+
+ // localized-default should come before non-localized entry
+ QVERIFY(localizedDefaultA < entryB);
+
+ // default should come after entry
+ QVERIFY(entryA < defaultEntryB);
+}
+
+void KEntryMapTest::testKeyAndKeyOrder()
+{
+ testKeyOrder<KEntryKey, KEntryKey>();
+}
+
+void KEntryMapTest::testKeyAndKeyViewOrder()
+{
+ testKeyOrder<KEntryKey, KEntryKeyView>();
+}
+
+void KEntryMapTest::testKeyViewAndKeyOrder()
+{
+ testKeyOrder<KEntryKeyView, KEntryKey>();
+}
+
+void KEntryMapTest::testSimple()
+{
+ KEntryMap map;
+
+ map.setEntry(group1, key1, value1, EntryOptions());
+ QCOMPARE(map.size(), 2); // the group marker & 1 key
+ map.setEntry(group1, key2, value2, EntryOptions());
+ QCOMPARE(map.size(), 3); // the group marker & 2 keys
+
+ QVERIFY(map.constFindEntry(group1) != map.cend());
+ QCOMPARE(map.constFindEntry(group1.toLower()), map.cend());
+
+ QVERIFY(map.constFindEntry(group1, key1) != map.cend());
+ QCOMPARE(map.constFindEntry(group1, key1.toLower()), map.cend());
+ QVERIFY(map.constFindEntry(group1, key2) != map.cend());
+ QCOMPARE(map.constFindEntry(group1, key2.toUpper()), map.cend());
+
+ QByteArray found = map.constFindEntry(group1, key1)->second.mValue;
+ QCOMPARE(found, value1);
+ QVERIFY(found != value2);
+
+ found = map.constFindEntry(group1, key2)->second.mValue;
+ QVERIFY(found != value1);
+ QCOMPARE(found, value2);
+}
+
+void KEntryMapTest::testDirty()
+{
+ KEntryMap map;
+ bool ret = map.setEntry(group1, key1, value1, EntryDefault);
+ QCOMPARE(ret, true);
+ ret = map.setEntry(group1, key1, value1, EntryDefault);
+ QCOMPARE(ret, false);
+ ret = map.setEntry(group1, key2, value2, EntryOptions());
+ QCOMPARE(ret, true);
+ ret = map.setEntry(group1, key2, value2, EntryOptions());
+ QCOMPARE(ret, false);
+}
+
+void KEntryMapTest::testDefault()
+{
+ KEntryMap map;
+
+ map.setEntry(group1, key1, value1, EntryDefault);
+ QCOMPARE(map.size(), 3); // group marker, default, entry
+ map.setEntry(group1, key2, value2, EntryOptions());
+ QCOMPARE(map.size(), 4); // group marker, default1, entry1, entry2
+
+ const auto defaultEntry(map.constFindEntry(group1, key1, SearchDefaults));
+ const auto entry1(map.constFindEntry(group1, key1));
+ const auto entry2(map.constFindEntry(group1, key2));
+
+ // default set for entry1
+ QVERIFY(defaultEntry != map.cend());
+ QCOMPARE(defaultEntry->second.mValue, entry1->second.mValue);
+
+ // no default set for entry2
+ QCOMPARE(map.constFindEntry(group1, key2, SearchDefaults), map.cend());
+
+ // change from default
+ map.setEntry(group1, key1, value2, EntryOptions());
+ QVERIFY(defaultEntry->second.mValue != entry1->second.mValue);
+ QVERIFY(entry1 != entry2);
+ QCOMPARE(entry1->second.mValue, entry2->second.mValue);
+
+ // revert entry1
+ map.revertEntry(group1, key1, EntryOptions());
+ QCOMPARE(defaultEntry->second.mValue, entry1->second.mValue);
+
+ // revert entry2, no default --> should be marked as deleted
+ map.revertEntry(group1, key2, EntryOptions());
+ QCOMPARE(entry2->second.mValue, QByteArray());
+ QVERIFY(entry2->second.bDirty);
+ QVERIFY(entry2->second.bReverted);
+}
+
+void KEntryMapTest::testDelete()
+{
+ KEntryMap map;
+
+ map.setEntry(group1, key1, value1, EntryDefault);
+ map.setEntry(group1, key2, value2, EntryDefault);
+ QCOMPARE(map.size(), 5);
+
+ map.setEntry(group1, key2, QByteArray(), EntryDeleted | EntryDirty);
+ QCOMPARE(map.size(), 5); // entry should still be in map, so it can override merged entries later
+ QCOMPARE(map.constFindEntry(group1, key2)->second.mValue, QByteArray());
+}
+
+void KEntryMapTest::testGlobal()
+{
+ KEntryMap map;
+
+ map.setEntry(group1, key1, value1, EntryGlobal);
+ QCOMPARE(map.constFindEntry(group1, key1)->second.bGlobal, true);
+
+ // this should create a new key that is not "global"
+ map.setEntry(group1, key1, value2, EntryOptions());
+ QCOMPARE(map.constFindEntry(group1, key1)->second.bGlobal, false);
+}
+
+void KEntryMapTest::testImmutable()
+{
+ KEntryMap map;
+
+ map.setEntry(group1, key1, value1, EntryImmutable);
+ QCOMPARE(map.constFindEntry(group1, key1)->second.bImmutable, true); // verify the immutable bit was set
+
+ map.setEntry(group1, key1, value2, EntryOptions());
+ QCOMPARE(map.constFindEntry(group1, key1)->second.mValue, value1); // verify the value didn't change
+
+ map.clear();
+
+ map.setEntry(group1, QByteArray(), QByteArray(), EntryImmutable);
+ QCOMPARE(map.constFindEntry(group1)->second.bImmutable, true); // verify the group is immutable
+
+ map.setEntry(group1, key1, value1, EntryOptions()); // should be ignored since the group is immutable
+ QCOMPARE(map.constFindEntry(group1, key1), map.cend());
+}
+
+void KEntryMapTest::testLocale()
+{
+ const QByteArray translatedDefault("hola");
+ const QByteArray translated("bonjour");
+ const QByteArray untranslated("hello");
+ KEntryMap map;
+
+ map.setEntry(group1, key1, untranslated, EntryDefault);
+ QCOMPARE(map.constFindEntry(group1, key1)->second.mValue, untranslated);
+ QCOMPARE(map.constFindEntry(group1, key1, SearchLocalized)->second.mValue, untranslated); // no localized value yet
+
+ map.setEntry(group1, key1, translated, EntryLocalized);
+
+ QCOMPARE(map.constFindEntry(group1, key1, SearchLocalized)->second.mValue, translated); // has localized value now
+ QVERIFY(map.constFindEntry(group1, key1, SearchLocalized)->second.mValue != map.constFindEntry(group1, key1)->second.mValue);
+ QCOMPARE(map.constFindEntry(group1, key1, SearchDefaults | SearchLocalized)->second.mValue, untranslated); // default should still be untranslated
+
+ map.setEntry(group1, key1, translatedDefault, EntryDefault | EntryLocalized);
+ QCOMPARE(map.constFindEntry(group1, key1, SearchLocalized)->second.mValue, translatedDefault);
+ map.setEntry(group1, key1, translated, EntryLocalized); // set the translated entry to a different locale
+ QCOMPARE(map.constFindEntry(group1, key1, SearchLocalized)->second.mValue, translated);
+}
+
+#include "moc_kentrymaptest.cpp"
--- /dev/null
+/* This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2007 Thomas Braxton <kde.braxton@gmail.com>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KENTRYMAPTEST_H
+#define KENTRYMAPTEST_H
+
+#include "kconfigdata_p.h"
+#include <QObject>
+
+class KEntryMapTest : public QObject
+{
+ Q_OBJECT
+
+public:
+ typedef KEntryMap::EntryOptions EntryOptions;
+ typedef KEntryMap::SearchFlags SearchFlags;
+
+ typedef KEntryMap::SearchFlag SearchFlag;
+ static const SearchFlag SearchLocalized = KEntryMap::SearchLocalized;
+ static const SearchFlag SearchDefaults = KEntryMap::SearchDefaults;
+
+ typedef KEntryMap::EntryOption EntryOption;
+ static const EntryOption EntryDirty = KEntryMap::EntryDirty;
+ static const EntryOption EntryGlobal = KEntryMap::EntryGlobal;
+ static const EntryOption EntryImmutable = KEntryMap::EntryImmutable;
+ static const EntryOption EntryDeleted = KEntryMap::EntryDeleted;
+ static const EntryOption EntryExpansion = KEntryMap::EntryExpansion;
+ static const EntryOption EntryDefault = KEntryMap::EntryDefault;
+ static const EntryOption EntryLocalized = KEntryMap::EntryLocalized;
+
+private:
+ template<typename KeyTypeA, typename KeyTypeB>
+ void testKeyOrder();
+
+private Q_SLOTS:
+ void testKeyAndKeyOrder();
+ void testKeyAndKeyViewOrder();
+ void testKeyViewAndKeyOrder();
+ void testSimple();
+ void testDirty();
+ void testDefault();
+ void testDelete();
+ void testGlobal();
+ void testImmutable();
+ void testLocale();
+};
+
+#endif // KENTRYMAPTEST_H
--- /dev/null
+/* This file is part of the KDE project
+ SPDX-FileCopyrightText: 2007 Matthias Kretz <kretz@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-only
+
+*/
+
+#include <QCoreApplication>
+#include <QTimer>
+#include <QtGlobal>
+#include <kconfiggroup.h>
+#include <ksharedconfig.h>
+#include <stdio.h>
+
+class Tester
+{
+public:
+ void initConfig();
+ ~Tester();
+};
+
+void Tester::initConfig()
+{
+ fprintf(stderr, "app Tester\n");
+ KConfigGroup group(KSharedConfig::openConfig(), QStringLiteral("test"));
+ group.writeEntry("test", 0);
+}
+
+Tester::~Tester()
+{
+ fprintf(stderr, "app ~Tester\n");
+ KConfigGroup group(KSharedConfig::openConfig(), QStringLiteral("test"));
+ group.writeEntry("test", 1);
+}
+
+Q_GLOBAL_STATIC(Tester, globalTestObject)
+
+int main(int argc, char **argv)
+{
+ qputenv("QT_FATAL_WARNINGS", "1");
+ QCoreApplication app(argc, argv);
+
+ KSharedConfig::Ptr config = KSharedConfig::openConfig();
+
+ Tester *t = globalTestObject();
+ t->initConfig();
+
+ QTimer::singleShot(0, qApp, SLOT(quit()));
+ return app.exec();
+}
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2012 David Faure <faure@kde.org>
+ SPDX-FileCopyrightText: 2024 Harald Sitter <sitter@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include <QTest>
+#include <kconfiggroup.h>
+#include <ksharedconfig.h>
+
+using namespace Qt::StringLiterals;
+
+class KSharedConfigTest : public QObject
+{
+ Q_OBJECT
+private Q_SLOTS:
+ void initTestCase();
+ void testUnicity();
+ void testReadWrite();
+ void testReadWriteSync();
+ void testQrcFile();
+
+#if !defined(Q_OS_WINDOWS) && !defined(Q_OS_ANDROID) && !defined(Q_OS_OSX) // m_stateDirPath is only applicable on XDG systems
+ void testState()
+ {
+ auto config = KSharedConfig::openStateConfig();
+ config->group(u"Test"_s).writeEntry("Test", true);
+ config->sync();
+ QVERIFY(QFile::exists(m_stateDirPath + "/"_L1 + QCoreApplication::applicationName() + "staterc"_L1));
+ }
+
+ void testStateName()
+ {
+ auto config = KSharedConfig::openStateConfig(u"foobar"_s);
+ config->group(u"Test"_s).writeEntry("Test", true);
+ config->sync();
+ QVERIFY(QFile::exists(m_stateDirPath + "/foobar"_L1));
+ }
+
+ void testStateAbsolute()
+ {
+ QDir().mkpath(m_stateDirPath);
+ const QString path = m_stateDirPath + "/randomsubdir/hellostate"_L1;
+ auto config = KSharedConfig::openStateConfig(path);
+ config->group(u"Test"_s).writeEntry("Test", true);
+ config->sync();
+ QVERIFY(QFile::exists(path));
+ }
+
+ void testStateMigration()
+ {
+ QDir().mkpath(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation));
+ // Migrate from old file to new file if new file doesn't exist yet
+ const QString oldPath = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation) + "/"_L1 + QCoreApplication::applicationName() + "staterc"_L1;
+ QFile(oldPath).open(QFile::WriteOnly | QFile::Truncate);
+ QVERIFY(QFile::exists(oldPath));
+ const QString newPath = m_stateDirPath + "/"_L1 + QCoreApplication::applicationName() + "staterc"_L1;
+ if (QFile::exists(newPath)) {
+ QFile::remove(newPath); // make sure new file doesn't exist so we can write to it
+ }
+
+ auto config = KSharedConfig::openStateConfig();
+ config->group(u"Test"_s).writeEntry("Test", true);
+ config->sync();
+ QVERIFY(!QFile::exists(oldPath));
+ QVERIFY(QFile::exists(newPath));
+ }
+
+ void testStateMigrationClash()
+ {
+ QDir().mkpath(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation));
+ // Both old and new staterc exist -> keep both
+ const QString oldPath = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation) + "/"_L1 + QCoreApplication::applicationName() + "staterc"_L1;
+ QFile(oldPath).open(QFile::WriteOnly | QFile::Truncate);
+ QVERIFY(QFile::exists(oldPath));
+ QDir().mkpath(m_stateDirPath);
+ const QString newPath = m_stateDirPath + "/"_L1 + QCoreApplication::applicationName() + "staterc"_L1;
+ QFile(oldPath).open(QFile::WriteOnly | QFile::Truncate);
+ QVERIFY(QFile::exists(oldPath));
+
+ auto config = KSharedConfig::openStateConfig();
+ config->group(u"Test"_s).writeEntry("Test", true);
+ config->sync();
+ QVERIFY(QFile::exists(oldPath));
+ QVERIFY(QFile::exists(newPath));
+ }
+#endif
+
+private:
+ QString m_path;
+ QString m_stateDirPath;
+};
+
+void KSharedConfigTest::initTestCase()
+{
+ constexpr auto xdgStateHomeVar = "XDG_STATE_HOME";
+ const QString xdgStateHome = QDir::homePath() + u"/.qttest/state"_s;
+ qputenv(xdgStateHomeVar, xdgStateHome.toUtf8());
+ QStandardPaths::setTestModeEnabled(true);
+
+ m_path =
+ QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + QLatin1Char('/') + QCoreApplication::applicationName() + QStringLiteral("rc");
+ QFile::remove(m_path);
+
+ m_stateDirPath = xdgStateHome;
+ QFile::remove(m_stateDirPath);
+}
+
+void KSharedConfigTest::testUnicity()
+{
+ KSharedConfig::Ptr cfg1 = KSharedConfig::openConfig();
+ KSharedConfig::Ptr cfg2 = KSharedConfig::openConfig();
+ QCOMPARE(cfg1.data(), cfg2.data());
+}
+
+void KSharedConfigTest::testReadWrite()
+{
+ const int value = 1;
+ {
+ KConfigGroup cg(KSharedConfig::openConfig(), QStringLiteral("KSharedConfigTest"));
+ cg.writeEntry("NumKey", value);
+ }
+ {
+ KConfigGroup cg(KSharedConfig::openConfig(), QStringLiteral("KSharedConfigTest"));
+ QCOMPARE(cg.readEntry("NumKey", 0), 1);
+ }
+}
+
+void KSharedConfigTest::testReadWriteSync()
+{
+ const int value = 1;
+ {
+ KConfigGroup cg(KSharedConfig::openConfig(), QStringLiteral("KSharedConfigTest"));
+ cg.writeEntry("NumKey", value);
+ }
+ QVERIFY(!QFile::exists(m_path));
+ QVERIFY(KSharedConfig::openConfig()->sync());
+ QVERIFY(QFile::exists(m_path));
+ {
+ KConfigGroup cg(KSharedConfig::openConfig(), QStringLiteral("KSharedConfigTest"));
+ QCOMPARE(cg.readEntry("NumKey", 0), 1);
+ }
+}
+
+void KSharedConfigTest::testQrcFile()
+{
+ QVERIFY(QFile::exists(QStringLiteral(":/testdata/test.ini")));
+ KSharedConfig::Ptr sharedConfig = KSharedConfig::openConfig(QStringLiteral(":/testdata/test.ini"), KConfig::NoGlobals);
+ QVERIFY(sharedConfig);
+
+ KConfigGroup cfg(sharedConfig, QStringLiteral("MainSection"));
+ QCOMPARE(cfg.readEntry(QStringLiteral("TestEntry"), QStringLiteral("UnexpectedData")), QStringLiteral("ExpectedData"));
+}
+
+QTEST_MAIN(KSharedConfigTest)
+
+#include "ksharedconfigtest.moc"
--- /dev/null
+/* This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2005 David Faure <faure@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kstandardshortcuttest.h"
+#include <QTest>
+
+QTEST_MAIN(KStandardShortcutTest) // GUI needed by KAccel
+
+#include <kstandardshortcut.h>
+
+#ifndef Q_OS_WIN
+void initLocale()
+{
+ setenv("LC_ALL", "en_US.utf-8", 1);
+}
+
+Q_CONSTRUCTOR_FUNCTION(initLocale)
+#endif
+
+void KStandardShortcutTest::testShortcutDefault()
+{
+ QCOMPARE(QKeySequence::listToString(KStandardShortcut::hardcodedDefaultShortcut(KStandardShortcut::FullScreen)), QLatin1String("Ctrl+Shift+F"));
+ QCOMPARE(QKeySequence::listToString(KStandardShortcut::hardcodedDefaultShortcut(KStandardShortcut::BeginningOfLine)), QLatin1String("Home"));
+ QCOMPARE(QKeySequence::listToString(KStandardShortcut::hardcodedDefaultShortcut(KStandardShortcut::EndOfLine)), QLatin1String("End"));
+ QCOMPARE(QKeySequence::listToString(KStandardShortcut::hardcodedDefaultShortcut(KStandardShortcut::Home)), QLatin1String("Alt+Home; Home Page"));
+}
+
+void KStandardShortcutTest::testName()
+{
+ QCOMPARE(KStandardShortcut::name(KStandardShortcut::BeginningOfLine), QLatin1String("BeginningOfLine"));
+ QCOMPARE(KStandardShortcut::name(KStandardShortcut::EndOfLine), QLatin1String("EndOfLine"));
+ QCOMPARE(KStandardShortcut::name(KStandardShortcut::Home), QLatin1String("Home"));
+}
+
+void KStandardShortcutTest::testLabel()
+{
+ // Tests run in English, right?
+ QCOMPARE(KStandardShortcut::label(KStandardShortcut::FindNext), QLatin1String("Find Next"));
+ QCOMPARE(KStandardShortcut::label(KStandardShortcut::Home), QLatin1String("Home"));
+}
+
+void KStandardShortcutTest::testShortcut()
+{
+ QCOMPARE(QKeySequence::listToString(KStandardShortcut::shortcut(KStandardShortcut::ZoomIn)), QKeySequence::listToString(KStandardShortcut::zoomIn()));
+}
+
+void KStandardShortcutTest::testFindStdAccel()
+{
+ QCOMPARE(KStandardShortcut::find(QKeySequence(Qt::CTRL | Qt::Key_F)), KStandardShortcut::Find);
+ QCOMPARE(KStandardShortcut::find(QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::ALT | Qt::Key_G)), KStandardShortcut::AccelNone);
+}
+
+void KStandardShortcutTest::testFindByName()
+{
+ for (int i = KStandardShortcut::AccelNone + 1; i < KStandardShortcut::StandardShortcutCount; ++i) {
+ const auto id = static_cast<KStandardShortcut::StandardShortcut>(i);
+ QCOMPARE(id, KStandardShortcut::findByName(KStandardShortcut::name(id)));
+ }
+}
+
+#include "moc_kstandardshortcuttest.cpp"
--- /dev/null
+/* This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2005 David Faure <faure@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KSTDACCELTEST_H
+#define KSTDACCELTEST_H
+
+#include <QObject>
+
+class KStandardShortcutTest : public QObject
+{
+ Q_OBJECT
+private Q_SLOTS:
+ // KStandardShortcut tests
+ void testShortcutDefault();
+ void testName();
+ void testLabel();
+ void testShortcut();
+ void testFindStdAccel();
+ void testFindByName();
+};
+
+#endif
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2022 David Redondo <kde@david-redondo.de>
+
+ SPDX-License-Identifier: LGPL-2.0-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
+*/
+
+#include "kstandardshortcutwatcher.h"
+#include "kconfiggroup.h"
+#include "ksharedconfig.h"
+#include "kstandardshortcut_p.h"
+
+#include <QSignalSpy>
+#include <QStandardPaths>
+#include <QTest>
+
+class KStandardShortcutWatcherTest : public QObject
+{
+ Q_OBJECT
+private Q_SLOTS:
+ void initTestCase();
+ void init();
+ void testSignal();
+ void testDataUpdated();
+};
+
+Q_DECLARE_METATYPE(KStandardShortcut::StandardShortcut)
+
+const QList<QKeySequence> newShortcut = {Qt::CTRL | Qt::Key_Adiaeresis};
+
+void KStandardShortcutWatcherTest::initTestCase()
+{
+ QStandardPaths::setTestModeEnabled(true);
+ qRegisterMetaType<KStandardShortcut::StandardShortcut>();
+ QVERIFY(KStandardShortcut::hardcodedDefaultShortcut(KStandardShortcut::Open) != newShortcut);
+}
+
+void KStandardShortcutWatcherTest::init()
+{
+ KConfigGroup group(KSharedConfig::openConfig(), QStringLiteral("Shortcuts"));
+ group.writeEntry("Open", QKeySequence::listToString(KStandardShortcut::hardcodedDefaultShortcut(KStandardShortcut::Open)), KConfig::Global);
+ group.sync();
+ KStandardShortcut::initialize(KStandardShortcut::Open);
+}
+
+void KStandardShortcutWatcherTest::testSignal()
+{
+#ifdef Q_OS_WIN
+ QSKIP("KConfig is built without DBus on Windows");
+#endif
+ QSignalSpy signalSpy(KStandardShortcut::shortcutWatcher(), &KStandardShortcut::StandardShortcutWatcher::shortcutChanged);
+ KStandardShortcut::saveShortcut(KStandardShortcut::Open, newShortcut);
+ QTRY_COMPARE(signalSpy.count(), 1);
+ const QList<QVariant> arguments = signalSpy.takeFirst();
+ QCOMPARE(arguments[0].toInt(), KStandardShortcut::Open);
+ QCOMPARE(arguments[1].value<QList<QKeySequence>>(), newShortcut);
+}
+
+void KStandardShortcutWatcherTest::testDataUpdated()
+{
+#ifdef Q_OS_WIN
+ QSKIP("KConfig is built without DBus on Windows");
+#endif
+ QSignalSpy signalSpy(KStandardShortcut::shortcutWatcher(), &KStandardShortcut::StandardShortcutWatcher::shortcutChanged);
+ // Writing manually to forego automatic update in saveShortcut()
+ KConfigGroup group(KSharedConfig::openConfig(), QStringLiteral("Shortcuts"));
+ group.writeEntry("Open", QKeySequence::listToString(newShortcut), KConfig::Global | KConfig::Notify);
+ group.sync();
+ QTRY_COMPARE(signalSpy.count(), 1);
+ QCOMPARE(KStandardShortcut::open(), newShortcut);
+}
+
+QTEST_MAIN(KStandardShortcutWatcherTest)
+#include "kstandardshortcutwatchertest.moc"
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2022 Volker Krause <vkrause@kde.org>
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kwindowstatesaver.h"
+#include "kconfiggroup.h"
+#include "ksharedconfig.h"
+
+#include <QSignalSpy>
+#include <QStandardPaths>
+#include <QTest>
+
+#include <QProgressDialog>
+
+class KWindowStateSaverTest : public QObject
+{
+ Q_OBJECT
+private Q_SLOTS:
+ void initTestCase();
+ void testTopLevelDialog();
+ void testSubDialog();
+};
+
+void KWindowStateSaverTest::initTestCase()
+{
+ QStandardPaths::setTestModeEnabled(true);
+}
+
+void KWindowStateSaverTest::testTopLevelDialog()
+{
+ auto cfg = KSharedConfig::openStateConfig();
+ cfg->deleteGroup(QStringLiteral("topLevelDialogTest"));
+ QSize dlgSize(720, 720);
+
+ {
+ QProgressDialog dlg;
+ new KWindowStateSaver(&dlg, QStringLiteral("topLevelDialogTest"));
+ dlg.show();
+ QTest::qWait(10); // give the window time to show up, so we simulate a user-triggered resize
+ dlg.resize(dlgSize);
+ QTest::qWait(500); // give the state saver time to trigger
+ QCOMPARE(dlg.size(), dlgSize);
+ }
+
+ QVERIFY(cfg->hasGroup(QStringLiteral("topLevelDialogTest")));
+
+ {
+ QProgressDialog dlg;
+ new KWindowStateSaver(&dlg, QStringLiteral("topLevelDialogTest"));
+ dlg.show();
+ QTest::qWait(100); // give the window time to show up properly
+ QCOMPARE(dlg.size(), dlgSize);
+ }
+}
+
+void KWindowStateSaverTest::testSubDialog()
+{
+ QWidget mainWindow;
+ mainWindow.show();
+ QTest::qWait(10);
+
+ auto cfg = KSharedConfig::openStateConfig();
+ cfg->deleteGroup(QStringLiteral("subDialogTest"));
+ QSize dlgSize(700, 500);
+
+ {
+ auto dlg = new QProgressDialog(&mainWindow);
+ new KWindowStateSaver(dlg, QStringLiteral("subDialogTest"));
+ dlg->show();
+ QTest::qWait(10); // give the window time to show up, so we simulate a user-triggered resize
+ dlg->resize(dlgSize);
+ QTest::qWait(500); // give the state saver time to trigger
+ QCOMPARE(dlg->size(), dlgSize);
+ delete dlg;
+ }
+
+ QVERIFY(cfg->hasGroup(QStringLiteral("subDialogTest")));
+
+ {
+ auto dlg = new QProgressDialog(&mainWindow);
+ new KWindowStateSaver(dlg, QStringLiteral("subDialogTest"));
+ dlg->show();
+ QTest::qWait(100); // give the window time to show up properly
+ QCOMPARE(dlg->size(), dlgSize);
+ }
+}
+
+QTEST_MAIN(KWindowStateSaverTest)
+#include "kwindowstatesavertest.moc"
--- /dev/null
+<!DOCTYPE RCC><RCC version="1.0">
+ <qresource prefix="/testdata">
+ <file>test.ini</file>
+ </qresource>
+</RCC>
+
--- /dev/null
+[MainSection]
+TestEntry=ExpectedData
+
--- /dev/null
+/* This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2010 Canonical Ltd
+ SPDX-FileContributor: Aurélien Gâteau <aurelien.gateau@canonical.com>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+#include "test_kconf_update.h"
+
+#include <memory>
+
+// Qt
+#include <QDir>
+#include <QFile>
+#include <QProcess>
+#include <qglobal.h>
+#include <qstandardpaths.h>
+#include <qtemporaryfile.h>
+#include <qtest.h>
+#include <qtestcase.h>
+
+QTEST_GUILESS_MAIN(TestKConfUpdate)
+
+void TestKConfUpdate::initTestCase()
+{
+ QStandardPaths::setTestModeEnabled(true);
+
+ // Ensure it all works with spaces in paths (as happens more commonly on OSX where it's ~/Library/Application Support/)
+ qputenv("XDG_DATA_HOME", "/tmp/a b");
+}
+
+static void writeFile(const QString &path, const QString &content)
+{
+ QFile file(path);
+ if (!file.open(QIODevice::WriteOnly)) {
+ qFatal("Could not write to '%s'", qPrintable(path));
+ }
+ file.write(content.toUtf8());
+}
+
+static QString readFile(const QString &path)
+{
+ QFile file(path);
+ if (!file.open(QIODevice::ReadOnly)) {
+ qFatal("Could not read '%s'", qPrintable(path));
+ }
+ QString ret = QString::fromUtf8(file.readAll());
+#ifdef Q_OS_WIN
+ // KConfig always writes files with the native line ending, the test comparison uses \n
+ ret.replace(QLatin1String{"\r\n"}, QLatin1String{"\n"});
+#endif
+ return ret;
+}
+
+static std::unique_ptr<QTemporaryFile> writeUpdFile(const QString &content)
+{
+ std::unique_ptr<QTemporaryFile> file{new QTemporaryFile(QDir::tempPath() + QLatin1String("/test_kconf_update_XXXXXX.upd"))};
+ bool ok = file->open();
+ Q_UNUSED(ok) // silence warnings
+ Q_ASSERT(ok);
+ file->write(content.toUtf8());
+ file->flush();
+ return file;
+}
+
+static void runKConfUpdate(const QString &updPath, const QString &expectedKConfOutputString)
+{
+ const QString kconfUpdateExecutable = QFINDTESTDATA("kconf_update");
+ QVERIFY(QFile::exists(kconfUpdateExecutable));
+ QProcess p;
+ p.start(kconfUpdateExecutable, QStringList{QStringLiteral("--testmode"), QStringLiteral("--debug"), updPath});
+ QVERIFY(p.waitForFinished());
+ QCOMPARE(p.exitCode(), 0);
+ if (!expectedKConfOutputString.isEmpty()) {
+ const QString out = QString::fromLocal8Bit(p.readAllStandardError());
+ QVERIFY2(out.contains(expectedKConfOutputString),
+ qPrintable(QLatin1String("The string \"%1\" was not contained in putput \"%2\"").arg(expectedKConfOutputString, out)));
+ }
+}
+
+void TestKConfUpdate::testScript_data()
+{
+ QTest::addColumn<QString>("updContent");
+ QTest::addColumn<QString>("updScript");
+ QTest::addColumn<QString>("oldConfContent");
+ QTest::addColumn<QString>("expectedNewConfContent");
+ QTest::addColumn<QString>("expectedKConfOutputString");
+
+#ifdef Q_OS_FREEBSD
+ // https://stackoverflow.com/a/69955786
+ const QString sedCommand = QStringLiteral("sed -i '' ");
+#else
+ const QString sedCommand = QStringLiteral("sed -i ");
+#endif
+ const QString updVersionIdPrefix = QLatin1String("Version=6\nId=%1\n").arg(QLatin1String{QTest::currentDataTag()});
+ const QString confPath = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + QLatin1String{"/testrc"};
+ const QString scriptContent = sedCommand + QLatin1String("'s/firstVal=abc/firstVal=xyz/' %1").arg(confPath);
+
+ QTest::newRow("should reject script due to version missmatch")
+ << QStringLiteral("Version=5\nId=12345") << scriptContent << QString() << QString() << QStringLiteral("defined Version=5 but Version=6 was expected");
+
+ const QString updContent = updVersionIdPrefix + QLatin1String("Script=test.sh,sh\n");
+ const QString configIn = QStringLiteral("[grp]\nfirstVal=abc\nsecondVal=xyz\n");
+ const QString configOut = QStringLiteral("[grp]\nfirstVal=xyz\nsecondVal=xyz\n");
+
+ QTest::newRow("should run command and modify file") << updContent << scriptContent << configIn << configOut << QString();
+
+ const QString argScriptContent = sedCommand + QLatin1String("\"s/secondVal=$1/secondVal=abc/\" %1").arg(confPath);
+ QTest::newRow("should run command with argument and modify file") << QStringLiteral("ScriptArguments=xyz\n") + updContent << argScriptContent << configIn
+ << QStringLiteral("[grp]\nfirstVal=abc\nsecondVal=abc\n") << QString();
+
+ QTest::newRow("should run command with arguments and modify file")
+ << QStringLiteral("ScriptArguments=xyz abc\n") + updContent << sedCommand + QLatin1String("\"s/secondVal=$1/secondVal=$2/\" %1").arg(confPath)
+ << configIn << QStringLiteral("[grp]\nfirstVal=abc\nsecondVal=abc\n") << QString();
+}
+
+void TestKConfUpdate::testScript()
+{
+ if (QStandardPaths::findExecutable(QStringLiteral("sh")).isEmpty()) {
+ QSKIP("Could not find sh executable, cannot run test");
+ return;
+ }
+
+ QFETCH(QString, updContent);
+ QFETCH(QString, updScript);
+ QFETCH(QString, oldConfContent);
+ QFETCH(QString, expectedNewConfContent);
+ QFETCH(QString, expectedKConfOutputString);
+
+ std::unique_ptr<QTemporaryFile> updFile(writeUpdFile(updContent));
+
+ const QString scriptDir = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String{"/kconf_update"};
+ QVERIFY(QDir().mkpath(scriptDir));
+ const QString scriptPath = scriptDir + QLatin1String{"/test.sh"};
+ writeFile(scriptPath, updScript);
+ QCOMPARE(readFile(scriptPath), updScript);
+
+ const QString confPath = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + QLatin1String{"/testrc"};
+ writeFile(confPath, oldConfContent);
+ QCOMPARE(readFile(confPath), oldConfContent);
+
+ runKConfUpdate(updFile->fileName(), expectedKConfOutputString);
+
+ QCOMPARE(readFile(confPath), expectedNewConfContent);
+}
+
+#include "moc_test_kconf_update.cpp"
--- /dev/null
+/* This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2010 Canonical Ltd
+ SPDX-FileContributor: Aurélien Gâteau <aurelien.gateau@canonical.com>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+#ifndef TEST_KCONF_UPDATE_H
+#define TEST_KCONF_UPDATE_H
+
+#include <QObject>
+
+class TestKConfUpdate : public QObject
+{
+ Q_OBJECT
+private Q_SLOTS:
+ void initTestCase();
+ void testScript_data();
+ void testScript();
+};
+
+#endif /* TEST_KCONF_UPDATE_H */
--- /dev/null
+kconfigdata_p.h contains definitions of the data formats used by kconfig.
+
+Configuration entries are stored as "KEntry". They are indexed with "KEntryKey".
+The primary store is a "KEntryMap" which is defined as a std::map from "KEntryKey"
+to "KEntry"
+
+KEntry's are stored in order in the KEntryMap. The most significant sort
+criteria is mGroup. This means that all entries who belong in the same group,
+are grouped in the std::map as well.
+
+The start of a group is indicated with a KEntryKey with an empty mKey and a
+dummy KEntry. This allows us to search for the start of the group and then to
+iterate until we end up in another group. That way we will find all entries
+of a certain group.
+
+Entries that are localised with the _current_ locale are stored with bLocal
+set to true. Entries that are localised with another locale are either not
+stored at all (default), or with the localization as part of the key (when
+reading a file in order to merge it).
+[WABA: Does it make sense to keep both localized and non-localised around?
+Can't we just let the localised version override the non-localised version?]
+
+Currently the localization bit is the least significant sort criteria, that
+means that the localised version always follows the non-localised version
+immediately.
+
+<Changed for KDE 3.0>
+Entries that are being read from a location other than the location to
+which is written back are marked as "default" and will be added both as
+normal entry as well as an entry with the key marked as default.
+
+When entries are written to disk, it is checked whether the entry to write
+is equal to the default, if so the entry will not be written. The default
+entry always follows directly after the normal entry, due to the sorting.
+(After that the localised version follows)
+
+When entries are written to disk, it is checked whether the entry to write
+is equal to the default, if so the entry will not be written.
+</Changed>
+
+Open question:
+Should unmodified entries that are written back be compared with the default
+too? This seems to be mostly a transition issue.
+
+<Changed during KDE 3.0 / 3.2>
+Extra functions:
+
+bool isEntryImmutable(key); // Can entry be modified?
+bool hasDefault(key); // Is there a system wide default set for the entry?
+void revertToDefault(key); // Restore to default
+void deleteEntry(key); // Remove entry
+
+Note that there is a subtle difference between revertToDefault() and deleteEntry().
+revertToDefault() will change the entry to the default value set by the system
+administrator (Via e.g. $KDEDIR/share/config) or, if no such default was set,
+non-existent.
+deleteEntry() will make the entry non-existent.
+
+Entries are marked "immutable" if the key is followed by [$i]. This means
+that a user can not override these entries.
+
+Entries can be marked as deleted if they are followed by [$d]. This
+is needed if the system administrator has specified a default value but the
+entry was deleted (made 'non-existant'). In that case we can't just leave
+the entry out since that would mean we get the default from the system
+administrator back the next time we read the file.
+</changed>
+
+When an entry is read with readEntry(key, defaultValue), non-existing
+entries will return "defaultValue" while hasKey(key) will return "false"
+for such entries.
+
+Currently all entries are stored in memory. When KConfig is "sync()'ed"
+it reads the file that it is about to overwrite (for the second time), it
+then merges in the entries it has in memory and writes the result back to
+the file. It does NOT update its map of entries in memory with the entries
+(re)read from disk. It only updates the entries in memory when
+"reparseConfiguration()" is called.
+
+
+Open Question: The standard writeEntry() function returns the original value,
+is this needed? Nobody seems to use it.
+
+Open Question: The bPersistent flag doesn't seem to be used... could it be removed?
+
+Open Question: Is the bNLS flag needed? Localised entries seem to be mostly
+useful for default files, are they ever created by the user itself?
+
+Open Question: Would it be worthwhile to lock a user option that is equal to the
+default so that it doesn't change when the default changes?
+
+
+KDE3.0 Changes
+==============
+
+*) writeEntry now returns void instead of QString.
+*) deleteEntry functions added
+
+
+------------------------------------------------------------------------------
+
+KConfig XT
+==========
+
+My buzzword picker offered KConfig XT ("eXtended Technology") and KConfig NG
+("Next Generation"). Since the planned changes are meant to be evolutionary
+rather than revolutionary, KConfig NG was dropped.
+
+Goals
+=====
+
+* Have the default value for config entries defined in 1 place. Currently it is
+not uncommon to have them defined in three places:
+ 1) In the application that reads the setting in order to use it
+ 2) In the settings dialog when reading the setting
+ 3) In the settings dialog when selecting "Use defaults".
+
+* Provide type-information about config entries to facilitate "KConfEdit" like
+tools. Ideally type-information also includes range-information; this is even
+mandatory if enums become an explicit type.
+
+* Facilitate the documentation of config entries.
+
+
+Instead of relying on the defaults that are hard-coded in the application,
+rely on default configuration files being installed in $KDEDIR. The technical
+changes required for this are very minimal, it is mostly a change in policy.
+
+Type information can be provide by preceding every entry with a formalized
+comment.
+
+Work to be done:
+* KConfig needs to be extended to provide access to the default values provided
+by the default config files. KConfig already stores this information internally.
+(DONE)
+* A formal comment structure needs to be designed that can convey type-information.
+Preferably in such a way that it is easily parsable by both machine and user.
+* KConfig needs to be extended, or another class created, that is able to parse
+the formalized comments.
+* A tool needs to be developed that can assist developers with the generation
+and verification of default configuration files including type-information.
+
+Drawbacks:
+* We rely on default configuration files being properly installed.
+* The user can break applications by making improper modifications to these
+files.
+* It is not possible to store defaults settings in a config file that are
+of a dynamic nature. Examples are settings derived from other settings,
+e.g. a color setting could be derived from the current color theme, or
+e.g. the default high score user name which is determined by the user
+currently logged in.
+
+
+Some random ideas:
+* The format of the entries would be something like this:
+
+[Mail Settings]
+#!Type=string
+#!Description=SMTP server to use for sending mail
+#!Description[nl]=SMTP server voor het versturen van mail
+Host=wantelbos.zogje.fr
+
+- the type could be subclassed more, e.g. strings can be "email", "hostname",
+ "url", etc.
+
+- having translations in these files is very arguable. external po's would be
+ better.
+
+
+
+Class overview
+
+ KConfigBase
+ |
+ v
+ KConfigBackend <-----> KConfig <------> KConfigSkeleton /--< myapp.kcfg
+ | | | /
+ v v |*---------------<
+KConfigINIBackend KSimpleConfig |kconfig_compiler \
+ | \--< myconfig.kcfg-codegen
+ v
+ MyConfig <-----KConfigDialogManager----> MyConfigWidget *---< myconfigwidget.ui
+ uic
+
+KConfigBase: defines API for generic config class
+
+KConfig: functional generic config class that supports merging of cascaded
+ configuration files
+
+KSimpleConfig: functional generic config class without support for cascading
+ configuration files.
+
+KConfigBackend: defines API for config backend, t.i. the actual handling
+ of the storage method and storage format.
+
+KConfigINIBackend: the standard (and only one so far) class that implements
+ the config backend using the file-based .INI format
+ for configuration files
+
+KConfigSkeleton: base class for deriving classes that store application
+ specific options providing type-safety and single-point
+ defaults.
+
+MyConfig: An application specific class that offers configuration options
+ to the applications via variables or accessor functions and that
+ handles type-safety and defaults. MyConfig is just an example
+ name, the application developer choses the actual name.
+
+myapp.kcfg: File describing the configuration options used by a specific
+ application. myapp.kcfg is just an example name, the application
+ developer choses the actual name.
+
+myconfig.kcfg-codegen: Implementation specific code generation instructions
+ for the MyConfig class. myconfig.kcfg-codegen is
+ just an example name, the application developer
+ choses the actual name.
+
+KConfigDialogManager: Class that links widgets in a dialog up with their
+ corresponding configuration options in a configuration
+ object derived from KConfigSkeleton.
+
+MyConfigWidget: Dialog generated from a .ui description file. Widget names
+ in the dialog that start with "kcfg_" refer to configuration
+ options.
--- /dev/null
+### KApiDox Project-specific Overrides File
+
+# define so that deprecated API is not skipped
+PREDEFINED += \
+ "KCONFIGCORE_ENABLE_DEPRECATED_SINCE(x, y)=1" \
+ "KCONFIGCORE_BUILD_DEPRECATED_SINCE(x, y)=1" \
+ "KCONFIGCORE_DEPRECATED_VERSION(x, y, t)=" \
+ "KCONFIGCORE_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)=" \
+ "KCONFIGCORE_ENUMERATOR_DEPRECATED_VERSION(x, y, t)=" \
+ "KCONFIGCORE_ENUMERATOR_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)=" \
+ "KCONFIGGUI_ENABLE_DEPRECATED_SINCE(x, y)=1" \
+ "KCONFIGGUI_BUILD_DEPRECATED_SINCE(x, y)=1" \
+ "KCONFIGGUI_DEPRECATED_VERSION(x, y, t)=" \
+ "KCONFIGGUI_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)=" \
+ "KCONFIGGUI_ENUMERATOR_DEPRECATED_VERSION(x, y, t)=" \
+ "KCONFIGGUI_ENUMERATOR_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)="
--- /dev/null
+KConfig Entry Options {#options}
+=====================
+
+KConfig provides various options that can alter how it interprets configuration
+entries on a per-entry, per-group or per-file basis. Note that these are not
+supported by other configuration frameworks, and so should not be used in files
+that are intended to be used by applications that do not use KConfig (such as
+application desktop files).
+
+
+Immutable Entries
+-----------------
+
+KConfig's cascading configuration mechanism usually causes values from earlier,
+"global" configuration files to be overridden by later, "local" ones.
+Typically, the system administrator might set global defaults, and a user might
+override them in their local configuration files.
+
+However, KConfig provides a way to lock down configuration values, so that the
+global settings override the local ones. This allows system administrators to
+restrict the values a user can set for an entry, group of entries or an entire
+configuration file.
+
+This is important for Kiosk authorization (see the KAuthorized namespace),
+which allows parts of the user interface to be locked down.
+
+Configuration entries can be marked as immutable with the `$i` option. This can
+be done on a per-entry basis:
+
+ [MyGroup]
+ someKey[$i]=42
+
+on a per-group basis (which will prevent any attempts to modify entries in the
+group at all in later files):
+
+ [MyGroup][$i]
+ someKey=42
+
+or for an entire file by putting `[$i]` at the start of the file:
+
+ [$i]
+ [MyGroup]
+ someKey=42
+ [MyOtherGroup]
+ someOtherKey=11
+
+Once this is done, the immutable entries or groups cannot be overridden by later
+files of the same name (and, if the file is immutable, later files will be
+ignored entirely).
+
+Note that a similar effect to file immutability can be achieved by using file
+system permissions to prevent the user from writing to their local versions of
+the configuration file, although (since this is normally a setup error), the
+user will be warned that the configuration file is not writable. This warning
+can be suppressed by adding the following setting to either the relevant
+configuration file or the `kdeglobals` file:
+
+ [General]
+ warn_unwritable_config=true
+
+However, using file system permissions like this can potentially be circumvented
+by the user if they have write access to the containing directory or can modify
+environment variables (and `XDG_CONFIG_HOME` in particular).
+
+
+
+Shell Expansion
+---------------
+
+If an entry is marked with `$e`, environment variables will be expanded.
+
+ Name[$e]=$USER
+
+When the "Name" entry is read `$USER` will be replaced with the value of the
+`$USER` environment variable.
+
+Note that the application will replace `$USER` with its
+expanded value after saving. To prevent this combine the `$e` option
+with `$i` (immmutable) option. For example:
+
+ Name[$ei]=$USER
+
+This will make that the "Name" entry will always return the value of the `$USER`
+environment variable. The user will not be able to change this entry.
+
+The following syntax for environment variables is also supported:
+
+ Name[$ei]=${USER}
+
+There are three environment variables that have a fallback strategy if the
+environment variable is not set. They instead map to a location from QStandardPaths.
+They are:
+
+* `$QT_CACHE_HOME` - QStandardPaths::GenericCacheLocation
+* `$QT_CONFIG_HOME` - QStandardPaths::GenericConfigLocation
+* `$QT_DATA_HOME` - QStandardPaths::GenericDataLocation
--- /dev/null
+description: Configuration system
+tier: 1
+type: functional
+platforms:
+ - name: Linux
+ - name: FreeBSD
+ - name: Windows
+ - name: macOS
+ - name: Android
+portingAid: false
+deprecated: false
+release: true
+libraries:
+ - cmake: "KF6::ConfigCore"
+ - cmake: "KF6::ConfigGui"
+cmakename: KF6Config
+
+public_lib: true
+group: Frameworks
+subgroup: Tier 1
--- /dev/null
+# UTF-8 test:äëïöü
+# Copyright (C) 2001 Free Software Foundation, Inc.
+# Juanita Franz <juanita.franz@vr-web.de>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig stable\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2005-06-08 01:39+0200\n"
+"Last-Translator: Juanita Franz <juanita.franz@vr-web.de>\n"
+"Language-Team: AFRIKAANS <translate-discuss-af@lists.sourceforge.net>\n"
+"Language: af\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Groep om in te kyk"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Groep om in te kyk"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Groep om in te kyk"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Groep om in te kyk"
+
+#: gui/kstandardshortcut.cpp:213
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Groep om in te kyk"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Gebruik <lêer> in plaas van globale konfigurasie"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Sleutel om voor te kyk"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Tipe van veranderlike. Gebruik\"bool\" vir boolean, anders word behandel as "
+"'n string"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Die waarde om te skryf. Verpligtend, op 'n tolk gebruik '' vir leeg"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KSkryfKonfigurasie"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Skryf KKonfigurasie inskrywings - vir gebruik in tolk skripte"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Juanita Franz"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "juanita.franz@vr-web.de"
--- /dev/null
+# SPDX-FileCopyrightText: 2021, 2022, 2023, 2024 Zayed Al-Saidi <zayed.alsaidi@gmail.com>
+# Safa Alfulaij <safa1996alfulaij@gmail.com>, 2014, 2017, 2018.
+# Zayed Al-Saidi <zayed.alsaidi@gmail.com>, 2024.
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-06-28 15:38+0300\n"
+"PO-Revision-Date: 2024-11-28 13:47+0400\n"
+"Last-Translator: Zayed Al-Saidi <zayed.alsaidi@gmail.com>\n"
+"Language-Team: ar\n"
+"Language: ar\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
+"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
+"X-Generator: Lokalize 23.08.5\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "رجاءً راسل مدير النظام."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "لا يمكن الكتابة في ملف الضبط ”%1“.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "المبدئي"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&عُد"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "ت&قدّم"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "ال&منزل"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&جديد"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "أنشئ مستندًا جديدًا"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "ا&فتح…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "افتح مستندًا موجودًا"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "افتح ملفاً &حديثًا"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "افتح مستندًا كان مفتوحًا حديثًا"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "ا&حفظ"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "احفظ المستند"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "احفظ &كَ…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "احفظ المستند باسم آخر"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "ا&عكس"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "اعكس التغييرات غير المحفوظة المجراة على المستند"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "أ&غلق"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "أغلق المستند"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "ا&طبع…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "اطبع المستند"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "&عاين الطباعة"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "اعرض معاينة للمستند مطبوعًا"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "أبرِ&د…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "أرسل المستند بالبريد"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "أ&نهِ"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "أنهِ التطبيق"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "ت&راجع"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "تراجع عن آخر إجراء"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "أ&عِد"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "أعد آخر إجراء تراجعت عنه"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "ق&صّ"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "قصّ التحديد إلى الحافظة"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "ا&نسخ"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "انسخ التحديد إلى الحافظة"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "أل&صق"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "ألصق محتوى الحافظة"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "ام&سح"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "حدّد ال&كل"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "أ&زل التحديد"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "ابح&ث…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "ابحث عن ال&تالي"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "ابحث عن ال&سابق"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "ا&ستبدل…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "&كبر للحجم الفعلي"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "اعرض المستند بمقاسه الأصلي"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "لا&ئم إلى الصفحة"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "غيّر التقريب لملاءمة الصفحة في النافذة"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "لائم إلى &عرض الصفحة"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "غيّر التقريب لملاءمة عرض الصفحة في النافذة"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "لائم إلى ارت&فاع الصفحة"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "غيّر التقريب لملاءمة ارتفاع الصفحة في النافذة"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "&قرّب"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "ب&عّد"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "الت&قريب…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "اختر مستوى التقريب"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "أن&عِش"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "أنعش المستند"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "لأ&على"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "انتقل لأعلى"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "الصفحة ال&سابقة"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "انتقل إلى الصفحة السابقة"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "الصفحة ال&تالية"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "انتقل إلى الصفحة التالية"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "ا&نتقل إلى…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "ا&نتقل إلى صفحة…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "ا&نتقل إلى سطر…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "الصفحة الأ&ولى"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "انتقل إلى الصفحة الأولى"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "الصفحة الأ&خيرة"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "انتقل إلى الصفحة الأخيرة"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&عُد"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "عُد وراءً في المستند"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "ت&قدّم"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "تقدّم أمامًا في المستند"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "أ&ضف علامة"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&حرّر العلامات…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "الإ&ملاء…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "دقّق الإملاء في المستند"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "اعرض شريط ال&قوائم"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "اعرض/أخفِ شريط القوائم"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "اعرض شريط الأ&دوات"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "اعرض/أخفِ شريط الأدوات"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "اعرض شريط ال&حالة"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "اعرض/أخف شريط الحالة"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "وضع ملء ال&شاشة"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "اضبط ا&ختصارات لوحة المفاتيح..."
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "ا&ضبط %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "اضبط أشرطة الأ&دوات…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "اضبط الإ&خطارات…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "ك&تيّب %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "ما &هذا؟"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "أ&بلغ عن علّة…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "اضبط الل&غة..."
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&عن %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "عن &كِيدِي"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "ا&حذف"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&غيّر الاسم…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "ا&نقل إلى المهملات"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "تبرّ&ع"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "افتح &قائمة"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "افتح"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "جديد"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "أغلق"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "احفظ"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "اطبع"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "أنهِ"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "تراجع"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "أعِد"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "قصّ"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "انسخ"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "ألصق"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "ألصق التحديد"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "حدّد الكل"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "أزل التحديد"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "احذف الكلمة السابقة"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "احذف الكلمة التالية"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "ابحث"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "ابحث عن التالي"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "ابحث عن السابق"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "استبدل"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "المنزل"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "البداية"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "النهاية"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "السابق"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "التالي"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "لأعلى"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "عُد"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "تقدّم"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "أعد التحميل"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "بداية السطر"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "نهاية السطر"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "انتقل إلى سطر"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "الكلمة السابقة"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "الكلمة التالية"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "أضف علامة"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "قرّب"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "بعّد"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "وضع ملء الشاشة"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "اعرض شريط القوائم"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "فعّل اللسان التالي"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "فعّل اللسان السابق"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "مساعدة"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "ما هذا"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "إكمال النص"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "مطابقة الإكمال السابقة"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "مطابقة الإكمال التالية"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "إكمال نص فرعي"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "العنصر السابق في القائمة"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "العنصر التالي في القائمة"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "افتح ملفاً حديثًا"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "احفظ باسم"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "اعكس"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "عاين الطباعة"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "أبرِد"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "امسح"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "كبر للحجم الفعلي"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "لائم إلى الصفحة"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "لائم إلى العرض"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "لائم إلى الارتفاع"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "التقريب"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "انتقل إلى"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "انتقل إلى صفحة"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "عُد في المستند"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "تقدّم في المستند"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "حرّر العلامات"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "الإملاء"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "اعرض شريط الأدوات"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "اعرض شريط الحالة"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "ارتباطات المفاتيح"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "اضبط التطبيق"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "اضبط أشرطة الأدوات"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "اضبط الإخطارات"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "أبلغ عن علّة"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "اضبط اللغة…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "عن التطبيق"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "عن كِيدِي"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "احذف"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "غيّر الاسم"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "انقل إلى المهملات"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "تبرّع"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "أظهر/أخف الملفات المخفية"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "أنشئ مجلّدًا"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "افتح في القائمة الرئيسة"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "افتح قائمة السياق"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "أداة «كِيدِي» لتحديث ملفات ضبط المستخدم"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "أبقِ نتائج الخرج من السكربتات"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"بالنسبة لاختبارات الوحدة فقط: لا تكتب الإدخالات المنجزة، بحيث يتم تنفيذ "
+"البرامج النصية مرة أخرى مع كل إعادة تشغيل"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "التمس فيما إذا كان ملف الضبط نفسه يحتاج تحديثًا"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "الملف/الملفات التي ستُقرأ منها إرشادات التحديث"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "الدليل الذي سيُولّد فيه الملفات [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "دليل"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "اعرض رخصة البرمجية."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "استخدم <file> بدل الضبط العمومي"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"المجموعة للبحث فيها. استخدم \"<default>\" لمجموعة الجذر، أو استخدمها أكثر من "
+"مرة للمجموعات المتداخلة."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "المفتاح الذي سيُبحث عنها"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "القيمة المبدئية"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "نوع المتغيّر"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "اسم المجموعة لا يمكن أن يكون فارغ، استخدم \"<default>\" لمجموعة الجذر"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"نوع المتغيّر. استخدم ”bool“ للقيم المنطقية، وإلا فستتعامل معه البرمجية كسلسلة"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "احذف المفتاح المعين إذا كان ممكن"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "القيمة التي ستُكتب. هذه إلزامية وإلا استُخدمت ”“ باعتبارها (لا شيء)"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "فائدة اليوم"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "لاختبارات الوحدات فحسب: استخدم الأدلّة الاختبارية لألا تعطب ملفات المستخدم "
+#~ "الحقيقية"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "خيارات الحفظ"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "بدّل لغة التطبيق"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "التّفضيلات"
--- /dev/null
+# SPDX-FileCopyrightText: 2023 Enol P. <enolp@softastur.org>
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"PO-Revision-Date: 2023-11-07 21:26+0100\n"
+"Last-Translator: Enol P. <enolp@softastur.org>\n"
+"Language-Team: \n"
+"Language: ast\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Qt-Contexts: true\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Lokalize 23.08.2\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "El ficheru de configuración «%1» nun ye d'escritura.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Conseyu del día"
--- /dev/null
+# Xəyyam <xxmn77@gmail.com>, 2020, 2021, 2022, 2023.
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"PO-Revision-Date: 2023-02-17 01:22+0400\n"
+"Last-Translator: Kheyyam <xxmn77@gmail.com>\n"
+"Language-Team: Azerbaijani <kde-i18n-doc@kde.org>\n"
+"Language: az\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Qt-Contexts: true\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Lokalize 22.12.2\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Sistem inzibatçınız ilə əlaqə saxlayın."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "%1 Konfiqurasiya faylı yazılmır.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Susmaya görə"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Geriyə"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "İrəli"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Ev"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Aç"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Sonuncunu Aç"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Saxla"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Fərqli Saxla"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Bərpa Et"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Bağla"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Çap et"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Çapa Önbaxış"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "E-Poçtla Göndər"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Çıx"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Tətbiq haqqında"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Geriyə al"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Kopyala"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Yerləşdir"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Təmizlə"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Hamısını Seç"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Seçimi ləğv et"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Tap"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Sonrakını Tap"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Əvvəlkini Tap"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Əvəzlə"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom to Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Həqiqi ölçüsünə miqyaslayın"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Səhifəyə Sığışdır"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Eninə Sığışdır"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Hündürlüyə Sığışdır"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Böyüt"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Kiçilt"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Böyütmə"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Hamısını Seç"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Yuxarı"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Səhifəyə Keç"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Sətirə Keç"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Səhifəyə Keç"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Sətirə Keç"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Səhifəyə Sığışdır"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Sətirə Keç"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Səhifəyə Keç"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Geriyə"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "İrəli"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Əlfəcin əlavə et"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Əlfəcinə düzəliş et"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Orfoqrafiyanı Yoxla"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Menu Çubuğunu Göstər"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Menu Çubuğunu Göstər"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Alətlər Çubuğunu Göstər"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Alətlər Çubuğunu Göstər"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Status Çubuğunu Göstər"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Status Çubuğunu Göstər"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Tam Ekran"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "Dili Tənzimləmək..."
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Alətlər Çubuğunu Ayarla"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Bildirişləri Ayarla"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Bu nədir"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Xətaları Göndər"
+
+#: gui/kstandardactions_p.h:135
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Dili Tənzimləmək..."
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "KDE haqqında"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "KDE haqqında"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Sil"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Adını Dəyiş"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Səbət At"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Maddi Dəstək"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Sonuncunu Aç"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Aç"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Yeni"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Bağla"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Saxla"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Çap et"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Çıx"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Geriyə al"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Təkrar et"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Kəs"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopyala"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Yerləşdir"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Seçiləni Yerləşdir"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Hamısını Seç"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Seçimi ləğv et"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Öncəki Sözü Sil"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Sonrakı Sözü Sil"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Tap"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Sonrakını Tap"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Əvvəlkini Tap"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Əvəzlə"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Ev"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Başla"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Son"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Əvvəlki"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Sonrakı"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Yuxarı"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Geriyə"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "İrəli"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Yenidən Aç"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Sətir Başla"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Sətiri Bitir"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Sətirə Keç"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Bir Söz Geri"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Bir Soz İrəli"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Əlfəcin əlavə et"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Böyüt"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Kiçilt"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Tam Ekran"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Menu Çubuğunu Göstər"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Növbəti Çubuğu Aktivləşdir"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Əvvəlki Çubuğu Aktivləşdir"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Kömək"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Bu nədir"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Mətin Tamamlama"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Əvvəlki Tamamlama Variantı"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Sonrakı Tamamlama Variantı"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Sətiraltı Tamamlama"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Siyahıdakı Əvvəlki Element"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Siyahıdakı sonrakı Element"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Sonuncunu Aç"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Fərqli Saxla"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Bərpa Et"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Çapa Önbaxış"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "E-Poçtla Göndər"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Təmizlə"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Həqiqi ölçüsünə miqyaslayın"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Səhifəyə Sığışdır"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Eninə Sığışdır"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Hündürlüyə Sığışdır"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Böyütmə"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Keç"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Səhifəyə Keç"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Geri"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "İrəli"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Əlfəcinə düzəliş et"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Orfoqrafiyanı Yoxla"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Alətlər Çubuğunu Göstər"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Status Çubuğunu Göstər"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Klaviş Kombinasiyaları"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Tətbiqi Ayarla"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Alətlər Çubuğunu Ayarla"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Bildirişləri Ayarla"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Xətaları Göndər"
+
+#: gui/kstandardshortcut.cpp:417
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Dili Tənzimləmək..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Tətbiq haqqında"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "KDE haqqında"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Sil"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Adını Dəyiş"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Səbət At"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Maddi Dəstək"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Gizli faylları gizlət/göstər"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Qovluq yaratmaq"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "İstifadəçi konfiqurasiya fayllarını yeniləmək üçün KDE Vasitələri"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "İşlək seansların çıxarış nəticələrini saxla"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Konfiqurasiya faylının yenilənmə tələb edib etməməsini yoxla"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Yenilənmə təlimatlarını oxumaq üçün fayllar"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Faylları yaratmaq üçün qovluq [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "qovluq"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Tətbiq lisenziyalarını göstər"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Qlobal konfiqurasiya əvəzinə <file> istifadə et"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Daxilində axtarış ediləcək qrup. Kök qrup üçün \"<default>\" istifadə edin "
+"və ya iç-içə qruplar üçün təkrar istifadə edin."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Axtarılacaq açar"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Susmaya görə ölçü"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Dəyişkən növ"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "Qrup adı boş ola bilməz, kök qrupu üçün \"<default>\" istifadə edin"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Dəyişkən növ. Məntiqi dəyişkələr üçün \"bool\" istifadə et, əks halda "
+"dəyişkən sətir kimi qəbul ediləcək"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Aktiv edildikdə təyin olunmuş açarı silin"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Yazı üçün göstərici. Mütləq göstərilir, üzlükdə böşluq üçün \" istifadə edin"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Günün Məsləhəti"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Yalnız vahid testlər üçün: Test qovluqlarını həqiqi isitifadəçı "
+#~ "fayllarında ayrı yerləşdir"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Seçimi Saxla"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Tətbiqin Dilini Dəyiş"
--- /dev/null
+# Darafei Praliaskouski <symbol@akeeri.tk>, 2006.
+# Darafei Praliaskouski <komzpa@licei2.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: fc57ad16a28d02dea100ceb1c60de14e\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-25 23:51\n"
+"Last-Translator: Darafei Praliaskouski <komzpa@licei2.com>\n"
+"Language-Team: Belarusian\n"
+"Language: be\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || n%10>=5 && n%10<=9 || n"
+"%100>=11 && n%100<=14 ? 2 : 3);\n"
+"X-Qt-Contexts: true\n"
+"X-Crowdin-Project: fc57ad16a28d02dea100ceb1c60de14e\n"
+"X-Crowdin-Project-ID: 136\n"
+"X-Crowdin-Language: be\n"
+"X-Crowdin-File: /[antikruk.KDE] main/KDE6/be/messages/kconfig/kconfig6_qt."
+"po\n"
+"X-Crowdin-File-ID: 9944\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Звярніцеся да сістэмнага адміністратара."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Файл канфігурацыі \"%1\" недаступны для запісу.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Прадвызначана"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Назад"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Д&алей"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Хатняя старонка"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Стварыць"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Стварыць новы дакумент"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Адкрыць…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Адкрыць існы дакумент"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Адкрыць &нядаўні файл"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Адкрыць дакумент, які нядаўна адкрываўся"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Захаваць"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Захаваць дакумент"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Захаваць &як…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Захаваць дакумент пад новай назвай"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "&Вярнуць"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Вярнуць незахаваныя змены, унесеныя ў дакумент"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "За&крыць"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Закрыць дакумент"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Друкаванне…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Друкаваць дакумент"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Папярэдні п&рагляд друку"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Вывесці папярэдні прагляд дакумента для друкавання"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Пошта…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Адправіць дакумент па электроннай пошце"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Выйсці"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Выйсці з праграмы"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Адрабіць"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Адрабіць апошняе дзеянне"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Па&ўтарыць"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Паўтарыць апошняе дзеянне"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&Выразаць"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Выразаць абранае ў буфер абмену"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Скапіяваць"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Скапіяваць абранае ў буфер абмену"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Уставіць"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Уставіць змесціва з буфера абмену"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "А&чысціць"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Абраць &усё"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "&Адкінуць выбар"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Пошук…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Шукаць &наступнае"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Шукаць &папярэдняе"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Замяніць…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Маштабаваць да &сапраўднага памеру"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Паказаць дакумент у яго сапраўдным памеры"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Па &памеры старонкі"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Маштабаваць па памеры акна"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Па &шырыні старонкі"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Маштабаваць па шырыні акна"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Па &вышыні старонкі"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Маштабаваць па вышыні акна"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "&Павялічыць"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "&Паменшыць"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Маштабаванне…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Абраць узровень павелічэння"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Абнавіць"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Абнавіць дакумент"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Уверх"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Перайсці вышэй"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Папярэдняя старонка"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Перайсці да папярэдняй старонкі"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Наступная старонка"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Перайсці да наступнай старонкі"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Перайсці да…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Перайсці да старонкі…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Перайсці да радка…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Першая старонка"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Перайсці да першай старонкі"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Апошняя старонка"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Перайсці да апошняй старонкі"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Назад"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Перайсці назад у дакуменце"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Д&алей"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Перайсці наперад ў дакуменце"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Дадаць закладку"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Рэдагаваць закладкі…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Правапіс…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Праверыць правапіс у дакуменце"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Паказваць &меню"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Паказаць або схаваць панэль меню"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Паказваць &панэль інструментаў"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Паказаць або схаваць панэль інструментаў"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Паказваць панэль ст&ану"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Паказаць або схаваць панэль стану"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "&Поўнаэкранны рэжым"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Наладжванне &спалучэнняў клавіш…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Наладжванне %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Наладжванне панэлі &інструментаў…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Наладжванне &апавяшчэнняў…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&Даведнік па \"%1\""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Што &гэта?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Паведаміць пра хібу…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Наладжванне &мовы…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Пра \"%1\""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Пра &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Выдаліць"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Змяніць назву…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Перамясціць у сметніцу"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Ахвяраваць"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Адкрыць &меню"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Адкрыць"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Новы"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Закрыць"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Захаваць"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Друкаваць"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Выйсці"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Адрабіць"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Паўтарыць"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Выразаць"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Капіяваць"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Уставіць"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Уставіць абранае"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Абраць усё"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Адкінуць выбар"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Выдаліць папярэдняе слова"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Выдаліць наступнае слова"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Знайсці"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Шукаць наступнае"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Шукаць папярэдняе"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Замяніць"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Хатняя старонка"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "У пачатак"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "У канец"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Папярэдняе"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Далей"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Уверх"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Назад"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Наперад"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Перазагрузіць"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Пачатак радка"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Канец радка"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Перайсці да радка"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Папярэдняе слова"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Наступнае слова"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Дадаць закладку"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Наблізіць"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Аддаліць"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Поўнаэкранны рэжым"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Паказваць панэль меню"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Актываваць наступную ўкладку"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Актываваць папярэднюю ўкладку"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Даведка"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Што гэта"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Запаўненне тэксту"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Папярэдняе супадзенне для запаўнення"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Наступнае супадзенне для запаўнення"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Запаўненне радкоў"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Папярэдні элемент у спісе"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Наступны элемент у спісе"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Адкрыць нядаўнія"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Захаваць як"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Інвертаваць"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Папярэдні прагляд для друку"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Пошта"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Ачысціць"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Маштабаваць да сапраўднага памеру"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Па памеры старонкі"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Па шырыні"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Па вышыні"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Маштаб"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Перайсці"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Перайсці да старонкі"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Папярэдні дакумент"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Наступны дакумент"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Рэдагаваць закладкі"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Правапіс"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Паказваць панэль інструментаў"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Паказваць панэль стану"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Прывязванне клавіш"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Наладжванне праграмы"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Наладжванне панэляў інструментаў"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Наладжванне апавяшчэнняў"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Паведаміць пра хібу"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Наладжванне мовы…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Пра праграму"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Пра KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Выдаліць"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Змяніць назву"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Перамясціць у сметніцу"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Ахвяраваць"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Паказаць/Схаваць схаваныя файлы"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Стварыць каталог"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Адкрыць галоўнае меню"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Адкрыць кантэкстнае меню"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Інструмент KDE для абнаўлення карыстальніцкіх файлаў канфігурацыі"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Пакідаць вынікі вываду са скрыптоў"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Толькі для модульных тэстаў: не запісваць завершаныя запісы, каб пры кожным "
+"паўторным запуску скрыпты выконваліся зноў"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Праверце, ці трэба абнавіць сам файл канфігурацыі"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Файл(ы), з якога трэба чытаць інструкцыі па абнаўленні"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Каталог для стварэння файлаў у [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "каталог"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Паказаць ліцэнзіі праграмнага забеспячэння."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Выкарыстоўваць <file> замест глабальнай канфігурацыі"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Група для прагляду. Выкарыстоўваць \"<default>\" для каранёвай групы або "
+"паўторна для ўкладзеных груп."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Ключ для пошуку"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Прадвызначанае значэнне"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Тып зменнай"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Назва групы не можа быць пустой, для каранёвай групы выкарыстоўвайце "
+"\"<default>\""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Тып зменнай. Выкарыстоўвайце \"bool\" для лагічнага значэння, інакш яно "
+"будзе разглядацца як радок"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Выдаліць прызначаны ключ, калі ён уключаны"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Значэнне, якое трэба ўпісаць. Для пустога ў абалонцы абавязкова "
+"выкарыстоўвайце ''"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Карысная парада"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Толькі для тэстаў модуляў: выкарыстоўваць тэставыя каталогі, каб не "
+#~ "чапаць рэальныя файлы карыстальніка"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Захаваць параметры"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Запіс KConfig - для выкарыстання ў сцэнарах"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Луі Педро Коэльо"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Напісаў kreadconfig, на якой гэта базіруецца"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Луі Педро Коэльо"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Бернард Розенерэйнцэр"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Дарафей Праляскоўскі"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "symbol@akeeri.tk"
--- /dev/null
+# translation of kwriteconfig.po to Belarusian Latin
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Ihar Hrachyshka <ihar.hrachyshka@gmail.com>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2008-11-29 20:39+0200\n"
+"Last-Translator: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>\n"
+"Language-Team: Belarusian Latin <i18n@mova.org>\n"
+"Language: be@latin\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || n%10>=5 && n%10<=9 || n"
+"%100>=11 && n%100<=14 ? 2 : 3);\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Vykarystaj <file>, a nie hałoŭny fajł naładaŭ"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Hurt, u jakim šukać. Paŭtaraj dla ŭnutranych hurtoŭ."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Patrebny kluč"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr "Typ vartaści. „bool”: lahičnaja, inačaj tekstavy radok."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Vartaść, jakuju treba zapisać. Abaviazkovaja, dla pustoj vartaści ŭ abałoncy "
+"karystajsia znakami „''”."
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Zapisvaje źviestki „KConfig” (dla skryptoŭ abałonki)"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "© 2001 Red Hat, Inc. i Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr ""
+#~ "Napisaŭ prahramu „kreadconfig”, pakładzienuju ŭ padvaliny hetaj prahramy"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Zlatko Popov <zlatkopopov@fsa-bg.org>, 2007, 2008.
+# SPDX-FileCopyrightText: 2022, 2023, 2024 Mincho Kondarev <mkondarev@yahoo.de>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-11-09 20:04+0100\n"
+"Last-Translator: Mincho Kondarev <mkondarev@yahoo.de>\n"
+"Language-Team: Bulgarian <kde-i18n-doc@kde.org>\n"
+"Language: bg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 24.08.2\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Моля, свържете се със системния си администратор."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Конфигурационният файл „%1“ не може да се записва.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "По подразбиране"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "На&зад"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Напред"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Начална страница"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "Нов"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Създаване на нов документ"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Отваряне…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Отваряне на съществуващ документ"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Отваряне на скорошни"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Отваряне на наскоро отворян документ"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Запазване"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Запис на документа"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Запазване &като…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Запазване на документа под ново име"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "&Връщане"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Връщане на незаписаните промени в документа"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Затваряне"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Затваряне на документа"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Печат…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Отпечатване на документа"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Предпечатен пре&глед"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Показване на предварителен преглед за печат"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Поща…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Изпращане на документа по пощата"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Изход"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Изход от програмата"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Отмяна"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Отмяна на последното действие"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "В&ъзстановяване"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Повтаряне на последно отменено действие"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&Изрязване"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Изрязване на селекцията в клипборда"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Копиране"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Копиране на селекцията в клипборда"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Поставяне"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Поставяне съдържанието на клипборда"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Изчистване"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Се&лектиране на всичко"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "&Размаркиране"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Намиране…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Търсене на следва&щ"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Търсене на преди&шен"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Заместване…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Мащабиране до &действителен размер"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Преглед на документа в действителния му размер"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Мащабиране до &размера на страницата"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Увеличаване до побиране на цялата страница в прозореца"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Мащабиране до &широчината на страницата"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Увеличаване до побиране на ширината на страницата в прозореца"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Мащабиране до &височината на страницата"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Увеличаване до побиране на височината на страницата в прозореца"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "У&величаване на мащаба"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Нама&ляване на мащаба"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Мащабиране…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Избиране на ниво на мащабиране"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Обновяване"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Обновяване на документа"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "На&горе"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Отиване нагоре"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "Преди&шна страница"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Към предишната страница"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Следва&ща страница"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Към следващата страница"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Отоване до…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Отиване на страница…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Отиване на &ред…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "П&ърва страница"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Към първата страница"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "После&дна страница"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Към последната страница"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "На&зад"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Отиване назад в документа"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Напред"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Отиване напред в документа"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Добавяне на отметка"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Редактиране на отметки…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Правопис…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Проверка на правописа в документа"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Показване на &главното меню"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Показване и скриване на лентата с менюто"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Показване на &лентата с инструменти"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Показване и скриване на лентата с инструменти"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Показване на лентата за с&ъстоянието"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Показване и скриване на лентата за състоянието"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Режим на &цял екран"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Конфигуриране на &клавишни комбинации…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Конфигуриране на %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "&Конфигуриране на ленти с инструменти…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Конфигуриране на &известията…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&Ръководство за %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "&Какво е това?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Подаване на сигнал за грешка…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Конфигуриране на &език…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Относно %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Относно &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Из&триване"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Преименуване…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Преместване в кошчето"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Дарение"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Отваряне на &меню"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Отваряне"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Ново"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Затваряне"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Запазване"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Печат"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Изход"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Отмяна"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Повторение"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Изрязване"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Копиране"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Поставяне"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Поставяне на селекцията"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Избиране на всичко"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Отмяна на избора"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Изтриване на дума назад"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Изтриване на дума напред"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Намиране"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Намиране следващо"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Намиране предишно"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Заместване"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Начална страница"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Начало"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Край"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Приоритет"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Следващ"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Нагоре"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Назад"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Напред"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Презареждане"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Начало на реда"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Край на реда"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Отиване на ред"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Дума назад"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Дума напред"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Добавяне на отметка"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Увеличаване на мащаба"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Намаляване на мащаба"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Режим на цял екран"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Показване на меню лента"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Активиране на следващия раздел"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Активиране на предишния раздел"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Помощ"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Какво е това"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Завършване на текст"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Предишно съвпадение за завършване"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Следващо съвпадение за завършване"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Завършване на подниза"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Предишен елемент в списъка"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Следващ елемент в списъка"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Отваряне на скорошни"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Запазване като"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Връщане"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Преглед преди печат"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Поща"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Изчистване"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Мащабиране до действителен размер"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Напасване на цяла страница"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Напасване по ширина"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Напасване на височина"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Мащабиране"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Отиване"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Отиване на страница"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Назад на документа"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Препращане на документ"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Редактиране на отметки"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Правопис"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Показване на лентата с инструменти"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Показване на лентата на състоянието"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Клавишни комбинации"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Конфигуриране на приложението"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Конфигуриране на ленти с инструменти"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Конфигуриране на известията"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Подаване на сигнал за грешка"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Конфигуриране на език…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Относно приложението"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Относно KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Изтриване"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Преименуване"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Преместване в кошчето"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Дарение"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Показване/скриване на скрити файлове"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Създаване на папка"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Отваряне на главното меню"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Отваряне на контекстното меню"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+"KDE инструмент за актуализиране на потребителски конфигурационни файлове"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Задържане на изходните резултати от скриптове"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Само за тестове на единици: без записване на готовите записи, така че при "
+"всяко повторностартиране, скриптовете да се изпълняват отново"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Проверяване, дали самият конфигурационен файл изисква актуализиране"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Файл или файлове с инструкции за актуализиране"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Директория за генериране на файлове в [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "директория"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Показване на лиценз за софтуер."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Използване на <file> вместо глобална конфигурация"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Група, в която да търсите. Използвайте \"<default>\" за root групата или "
+"използвайте многократно за вложени групи."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Ключ за търсене"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Стойност по подразбиране"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Тип променлива"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Името на групата не може да бъде празно, Използвайте \"<default>\" за root "
+"групата"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Тип променлива. Използване на\"bool\"за булева стойност, в противен случай "
+"тя се третира като низ"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Изтриване на посочения ключ, ако е активиран"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Стойност за запис. Изисква се, в терминал използвайте '' за празно"
--- /dev/null
+# translation of kwriteconfig.po to Bengali
+# Deepayan Sarkar <deepayan.sarkar@gmail.com>, 2004, 2012.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2012-07-12 14:43+0530\n"
+"Last-Translator: Deepayan Sarkar <deepayan.sarkar@gmail.com>\n"
+"Language-Team: Bengali <kde-translation@bengalinux.org>\n"
+"Language: bn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.4\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "যে গ্রুপ-এ খোঁজা হবে"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "যে গ্রুপ-এ খোঁজা হবে"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "যে গ্রুপ-এ খোঁজা হবে"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "যে গ্রুপ-এ খোঁজা হবে"
+
+#: gui/kstandardshortcut.cpp:213
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "যে গ্রুপ-এ খোঁজা হবে"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "গ্লোবাল কনফিগ-এর পরিবর্তে <file> ব্যবহার করো"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "যে যে গ্রুপ-এ দেখা হবে। একাধিক স্তরে গ্রুপ থাকলে একাধিকবার ব্যবহার করুন।"
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "যে কী (Key) খোঁজা হবে "
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"ভেরিয়েবল-এর টাইপ। বুলিয়ান-এর জন্য \"bool\" ব্যবহার করুন, বাকি সব string হিসাবে "
+"গণ্য হবে"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "যে মানটি লেখা হবে। দেওয়া প্রয়োজন। শেল-এ ফাঁকা রাখতে '' ব্যবহার করুন"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "কে-রাইট-কনফিগ"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "কনফিগ এন্ট্রি লেখে - শেল স্ক্রিপ্ট-এ ব্যবহারের জন্য"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "kreadconfig লিখেছেন, যার ভিত্তিতে এই প্রোগ্রামটি লেখা"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "দীপায়ন সরকার"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "deepayan@bengalinux.org"
--- /dev/null
+# translation of kwriteconfig.po to Bengali INDIA
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Runa Bhattacharjee <runab@fedoraproject.org>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2008-07-04 18:29+0530\n"
+"Last-Translator: Runa Bhattacharjee <runab@fedoraproject.org>\n"
+"Language-Team: Bengali INDIA <discuss@ankur.org.in>\n"
+"Language: bn_IN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "গ্লোবাল কনফিগের পরিবর্তে <file> ব্যবহার করুন"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "যে দলের মধ্যে অনুসন্ধান করা হবে। নেস্টেড দলের জন্য পুনাবৃত্তি করা আবশ্যক।"
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "অনুসন্ধানের জন্য চিহ্নিত কি"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"ভেরিয়েবলের ধরন। বুলিয়ানের ক্ষেত্রে \"bool\" ব্যবহার করুন, অন্যথা সেটি স্ট্রিং রূপে "
+"ব্যবহার করা হবে।"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"লেখার উদ্দেশ্যে চিহ্নিত মান। উল্লেখ করা আবশ্যক। ফাঁকা হলে শেলের মধ্যে '' লিখুন।"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "KConfig এনট্রি লিখুন - শেল স্ক্রিপ্টের সাথে ব্যবহারের উদ্দেশ্যে"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) ২০০১ Red Hat, Inc. ও লুই পেদ্রো কোয়লহো"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr ""
+#~ "kreadconfig-র লেখক। এই প্রোগ্রাম kreadconfig-র উপর ভিত্তি করে নির্মিত হয়েছে।"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "লুই পেদ্রো কোয়েলহো"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "বার্নার্ড রোসেনক্রেইনজার"
--- /dev/null
+# KDE breton translation
+# Thierry Vignaud <tvignaud@mandriva.com>, 2004-2005
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2004-07-08 17:18+0200\n"
+"Last-Translator: Thierry Vignaud <tvignaud.com>\n"
+"Language-Team: Brezhoneg <Suav.Icb.fr>\n"
+"Language: br\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Thierry Vignaud, Jañ-Mai Drapier"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "tvignaud@mandriva.com, jdrapier@club-internet.fr"
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: kde5\n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: 2015-02-24 19:56+0100\n"
+"Last-Translator: Samir Ribić <megaribi@epn.ba>\n"
+"Language-Team: Bosnian\n"
+"Language: bs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Qt-Contexts: true\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Obratite se sistem-administratoru."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Ne može se pisati u konfiguracionu datoteku %1.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Podrazumijevano"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Nazad"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Naprijed"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Kuća"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Otvori"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Otvori skorašnje"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Sačuvaj"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Sačuvaj kao"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Vrati"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Zatvori"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Štampaj"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Pregled pred štampanje"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Elektronska pošta"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Izlaz"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "O programu"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Poništi"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Kopiraj"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Umetni"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Čisto"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Izaberi sve"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Poništi izbor"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Nađi"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Nađi sljedeće"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Nađi prethodno"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Zamijeni"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Stvarna veličina"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Uklopi u stranicu"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Uklopi u širinu"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Uklopi u visinu"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Uveličaj"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Umanji"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Uvećaj"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Izaberi sve"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Gore"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Idi na stranicu"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Idi na liniju"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Idi na stranicu"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Idi na liniju"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Uklopi u stranicu"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Idi na liniju"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Idi na stranicu"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Nazad"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Naprijed"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Dodaj zabilješku"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Izmijeni zabilješke"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Pravopis"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Prikaži traku menija"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Prikaži traku menija"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Prikaži alatnu traku"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Prikaži alatnu traku"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Prikaži statusnu traku"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Prikaži statusnu traku"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Režim punog ekrana"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Podesi alatne trake"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Podesi obavještenja"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Šta je ovo?"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Prijavi grešku"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "O KDE-u"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "O KDE-u"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Otvori skorašnje"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Otvori"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Novo"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Zatvori"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Sačuvaj"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Štampaj"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Izlaz"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Poništi"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Ponovi"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Isijeci"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopiraj"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Umetni"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Umetni izbor"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Izaberi sve"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Poništi izbor"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Obriši riječ unazad"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Obriši riječ unaprijed"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Nađi"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Nađi sljedeće"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Nađi prethodno"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Zamijeni"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Kuća"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Početak"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "kraj"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Prethodno"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Sljedeći"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Gore"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Nazad"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Naprijed"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Ponovo učitaj"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Početak reda"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Kraj reda"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Idi na liniju"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Riječ unazad"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Riječ unaprijed"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Dodaj zabilješku"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Uveličaj"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Umanji"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Režim punog ekrana"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Prikaži traku menija"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktiviraj sljedeću karticu"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktiviraj prethodnu karticu"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Pomoć"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Šta je ovo?"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Dopuna teksta"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Prethodno poklapanje za dopunu"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Sljedeće poklapanje za dopunu"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Dopuna podniske"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Prethodna stavka na spisku"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Sljedeća stavka na spisku"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Otvori skorašnje"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Sačuvaj kao"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Vrati"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Pregled pred štampanje"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Elektronska pošta"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Čisto"
+
+#: gui/kstandardshortcut.cpp:343
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Stvarna veličina"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Uklopi u stranicu"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Uklopi u širinu"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Uklopi u visinu"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Uvećaj"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Idi na"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Idi na stranicu"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dokument nazad"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dokument naprijed"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Izmijeni zabilješke"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Pravopis"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Prikaži alatnu traku"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Prikaži statusnu traku"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Pridruživanja tastera"
+
+#: gui/kstandardshortcut.cpp:392
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Podesi obavještenja"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Podesi alatne trake"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Podesi obavještenja"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Prijavi grešku"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "O programu"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "O KDE-u"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE‑ova alatka za ažuriranje korisničkih konfiguracionih datoteka"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Zadrži izlazne rezultate iz skripti"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Provjeri da li konfiguraciona datoteka zahtijeva ažuriranje"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Direktorij za generisanje datoteka u [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "direktorij"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Prikaži softversku licencu."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Koristi <file> umjesto globalne konfiguracije"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgctxt "main|"
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Grupa u kojoj se traži. Ponavljajte za ugniježđene grupe."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Ključ za pregled"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Uobičajena vrijednost"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Vrsta varijable"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Vrsta promjenljive. Koristite \"bool\" za boole-ovu (logičku) promjenljivu,u "
+"suprotnom će biti tretirana kao string"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Vrijednost koja se upisuje. Obavezno, u školjki koristite '' za prazno"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Savjet dana"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Opcije snimanja"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Promijeni jezik programa"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Postavke"
--- /dev/null
+# Translation of kconfig6_qt.po to Catalan
+# Copyright (C) 2004-2024 This_file_is_part_of_KDE
+# This file is distributed under the license LGPL version 2.1 or
+# version 3 or later versions approved by the membership of KDE e.V.
+#
+# Ivan Lloro Boada <antispam@wanadoo.es>, 2004.
+# Antoni Bella Pérez <antonibella5@yahoo.com>, 2014, 2015, 2016, 2017, 2019, 2020, 2021, 2022.
+# Empar Montoro Martín <montoro_mde@gva.es>, 2019.
+# Josep M. Ferrer <txemaq@gmail.com>, 2007, 2008, 2009, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024.
+msgid ""
+msgstr ""
+"Project-Id-Version: kconfig\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-07-05 19:26+0200\n"
+"Last-Translator: Josep M. Ferrer <txemaq@gmail.com>\n"
+"Language-Team: Catalan <kde-i18n-ca@kde.org>\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 22.12.3\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Accelerator-Marker: &\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Si us plau, contacteu amb l'administrador del sistema."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "No es pot escriure en el fitxer de configuració «%1».\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Per defecte"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Enrere"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "En&davant"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Inici"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Nou"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Crea un document nou"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Obre…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Obre un document existent"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Obre'n un de &recent"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Obre un document que s'ha obert recentment"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Desa"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Desa el document"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Desa &com a…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Desa el document amb un nom nou"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Re&verteix"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Reverteix els canvis sense desar efectuats en el document"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Tan&ca"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Tanca el document"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Im&primeix…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Imprimeix el document"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "&Vista prèvia d'impressió"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Mostra una vista prèvia d'impressió del document"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Correu…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Envia un document per correu"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Surt"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Surt de l'aplicació"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Desfés"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Desfà l'última acció"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Re&fés"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Refà l'última acció desfeta"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Re&talla"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Retalla la selecció al porta-retalls"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Copia"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Copia la selecció al porta-retalls"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Enganxa"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Enganxa el contingut del porta-retalls"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "&Neteja"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Selecciona-ho &tot"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Desse&lecciona"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Cerca…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Cerca la següe&nt"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Cerca l'an&terior"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Substitueix…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Zoom &a la mida real"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Visualitza el document en la seva mida real"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Ajusta a la pàgina"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Zoom fins a ajustar la pàgina a la finestra"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Ajusta a l'a&mplada de la pàgina"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Zoom fins a ajustar l'amplada de la pàgina a la finestra"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Ajusta a l'a&lçada de la pàgina"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Zoom fins a ajustar l'alçada de la pàgina a la finestra"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "&Amplia"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "&Redueix"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Zoom…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Selecciona el nivell de zoom"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Actualitza"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Actualitza el document"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Amunt"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Puja"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Pàgina anterior"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Va a la pàgina anterior"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Pàgina següe&nt"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Va a la pàgina següent"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Ves a…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Ves a la pàgina…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Ves a la línia…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "P&rimera pàgina"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Va a la primera pàgina"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Ú<ima pàgina"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Va a l'última pàgina"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Enrere"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Va enrere en el document"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "En&davant"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Va endavant en el document"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Afegeix una adreça d'interès"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Edita les adreces d'interès…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Ortografia…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Verifica l'ortografia en el document"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Mostra la barra de &menús"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Mostra o oculta la barra de menús"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Mostra la barra d'&eines"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Mostra o oculta la barra d'eines"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Mostra la barra d'est&at"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Mostra o oculta la barra d'estat"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "&Mode de pantalla completa"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Configura les &dreceres de teclat…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Configura %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Configura les &barres d'eines…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Configura les ¬ificacions…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&Manual del %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Què és &això?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Informeu d'un error…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Configura &l'idioma…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Quant al %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Quant al &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Su&primeix"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Reanomena…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Mou a la paperera"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Donatius"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Obre el &menú"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Obre"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nou"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Tanca"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Desa"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Imprimeix"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Surt"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Desfés"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Refés"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Retalla"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Copia"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Enganxa"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Enganxa la selecció"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Selecciona-ho tot"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Desselecciona"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Suprimeix una paraula cap enrere"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Suprimeix una paraula cap endavant"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Cerca"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Cerca la següent"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Cerca l'anterior"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Substitueix"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Inici"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Comença"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Finalitza"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Anterior"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Següent"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Puja"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Enrere"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Endavant"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Torna a carregar"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Començament de la línia"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Final de línia"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Ves a la línia"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Paraula enrere"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Paraula endavant"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Afegeix una adreça d'interès"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Apropa"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Allunya"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Mode de pantalla completa"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Mostra la barra de menús"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Activa la pestanya següent"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Activa la pestanya anterior"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Ajuda"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Què és això?"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Compleció del text"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Coincidència anterior de la compleció"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Coincidència següent de la compleció"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Compleció de les subcadenes"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Element anterior a la llista"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Element següent a la llista"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Obre'n un de recent"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Desa com a"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Reverteix"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Vista prèvia d'impressió"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Correu"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Neteja"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Zoom a la mida real"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Ajusta a la pàgina"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Ajusta a l'amplada"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Ajusta a l'alçada"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Zoom"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Ves a"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Ves a la pàgina"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Document enrere"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Document endavant"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Edita les adreces d'interès"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Ortografia"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Mostra la barra d'eines"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Mostra la barra d'estat"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Lligams de tecla"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Configura l'aplicació"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Configura les barres d'eines"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Configura les notificacions"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Informeu d'un error"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Configura l'idioma…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Quant a l'aplicació"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Quant al KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Suprimeix"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Reanomena"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Mou a la paperera"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Donatius"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Mostra/Oculta els fitxers ocults"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Crea una carpeta"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Obre el menú principal"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Obre el menú contextual"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Eina del KDE per a actualitzar els fitxers de configuració d'usuari"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Conserva els resultats de la sortida dels scripts"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Només per a les proves unitàries: no escriviu les entrades efectuades, així "
+"que en cada execució els scripts es tornen a executar de nou"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Comproveu si cal actualitzar el fitxer de configuració"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Fitxer/s per a llegir les instruccions d'actualització des de"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Directori per a generar els fitxers a [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "directori"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Mostra la llicència del programari."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Usa <fitxer> en comptes de la configuració global"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Grup on cercar. Useu «<predeterminat>» per al grup arrel, o useu-lo "
+"repetidament per a grups imbricats."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Clau a cercar"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Valor per defecte"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Tipus de variable"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"El nom de grup no pot estar buit, useu «<predeterminat>» per al grup arrel"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Tipus de variable. Fa servir «bool» per a un booleà. En un altre cas, es "
+"tracta com una cadena"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Suprimeix la clau designada, si està activada"
+
+# skip-rule: t-apo_ini,t-apo_fin
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"El valor a escriure. És obligatori. A l'intèrpret d'ordres fer servir '' si "
+"està buit"
--- /dev/null
+# Translation of kconfig6_qt.po to Catalan (Valencian)
+# Copyright (C) 2004-2024 This_file_is_part_of_KDE
+# This file is distributed under the license LGPL version 2.1 or
+# version 3 or later versions approved by the membership of KDE e.V.
+#
+# Ivan Lloro Boada <antispam@wanadoo.es>, 2004.
+# Antoni Bella Pérez <antonibella5@yahoo.com>, 2014, 2015, 2016, 2017, 2019, 2020, 2021, 2022.
+# Empar Montoro Martín <montoro_mde@gva.es>, 2019.
+# Josep M. Ferrer <txemaq@gmail.com>, 2007, 2008, 2009, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024.
+msgid ""
+msgstr ""
+"Project-Id-Version: kconfig\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-07-05 19:26+0200\n"
+"Last-Translator: Josep M. Ferrer <txemaq@gmail.com>\n"
+"Language-Team: Catalan <kde-i18n-ca@kde.org>\n"
+"Language: ca@valencia\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 22.12.3\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Accelerator-Marker: &\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Contacteu amb l'administrador del sistema."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "No es pot escriure en el fitxer de configuració «%1».\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Predeterminat"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "A&rrere"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "A&vant"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Inici"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Nou"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Crea un document nou"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "O&bri…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Obri un document existent"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Obri'n un de &recent"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Obri un document que s'ha obert recentment"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Guar&da"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Guarda el document"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Anomena i gu&arda…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Guarda el document amb un nom nou"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Re&vertix"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Revertix els canvis sense guardar efectuats en el document"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Tan&ca"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Tanca el document"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Im&primix…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Imprimix el document"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "&Vista prèvia d'impressió"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Mostra una vista prèvia d'impressió del document"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Correu…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Envia un document per correu"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "I&x"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Ix de l'aplicació"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Desfés"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Desfà l'última acció"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Re&fés"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Refà l'última acció desfeta"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Re&talla"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Retalla la selecció a dins del porta-retalls"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Copia"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Copia la selecció a dins del porta-retalls"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "A&pega"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Apega el contingut del porta-retalls"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "&Neteja"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Selecciona-ho &tot"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Desse&lecciona"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Bu&sca…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Busca la següe&nt"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Busca l'an&terior"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Su&bstituïx…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Zoom &a la mida real"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Visualitza el document en la seua mida real"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Ajusta a la pàgina"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Zoom fins a ajustar la pàgina en la finestra"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Ajusta a l'a&mplària de la pàgina"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Zoom fins a ajustar l'amplària de la pàgina en la finestra"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Ajusta a l'a&lçària de la pàgina"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Zoom fins a ajustar l'alçària de la pàgina en la finestra"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "&Amplia"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Red&uix"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Zoom…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Selecciona el nivell de zoom"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "Act&ualitza"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Actualitza el document"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Amunt"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Puja"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Pàgina anterior"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Va fins a la pàgina anterior"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Pàgina següe&nt"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Va fins a la pàgina següent"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Ves fins a…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Ves fins a la pàgina…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Ves fins a la línia…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "P&rimera pàgina"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Va fins a la primera pàgina"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Ú<ima pàgina"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Va fins a l'última pàgina"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "A&rrere"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Va arrere en el document"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "A&vant"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Va avant en el document"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Afi&g una adreça d'interés"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Edita les adreces d'interés…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Ortografia…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Verifica l'ortografia en el document"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Mostra la barra de &menús"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Mostra o oculta la barra de menús"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Mostra la barra d'&eines"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Mostra o oculta la barra d'eines"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Mostra la barra d'est&at"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Mostra o oculta la barra d'estat"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "&Mode de pantalla completa"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Configura les &dreceres de teclat…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Configura %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Configura les &barres d'eines…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Configura les ¬ificacions…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&Manual de %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Què és &açò?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Informeu d'un error…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Configura &l'idioma…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Quant a %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Quant a &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Sup&rimix"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Ca&nvia el nom…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Mou cap a dins de la paperera"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Donatius"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Obri el &menú"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Obri"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nou"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Tanca"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Guarda"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Imprimix"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Ix"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Desfés"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Refés"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Retalla"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Copia"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Apega"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Apega la selecció"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Selecciona-ho tot"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Desselecciona"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Suprimix una paraula cap arrere"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Suprimix una paraula cap avant"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Busca"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Busca la següent"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Busca l'anterior"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Substituïx"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Inici"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Comença"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Finalitza"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Anterior"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Següent"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Puja"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Arrere"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Avant"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Torna a carregar"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Començament de la línia"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Final de línia"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Ves fins a la línia"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Paraula arrere"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Paraula avant"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Afig una adreça d'interés"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Acosta"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Allunya"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Mode de pantalla completa"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Mostra la barra de menús"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Activa la pestanya següent"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Activa la pestanya anterior"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Ajuda"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Què és açò?"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Compleció del text"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Coincidència anterior de la compleció"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Coincidència següent de la compleció"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Compleció de les subcadenes"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Element anterior en la llista"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Element següent en la llista"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Obri'n un de recent"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Anomena i guarda"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Revertix"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Vista prèvia d'impressió"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Correu"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Neteja"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Zoom a la mida real"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Ajusta a la pàgina"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Ajusta a l'amplària"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Ajusta a l'alçària"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Zoom"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Ves fins a"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Ves fins a la pàgina"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Document arrere"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Document avant"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Edita les adreces d'interés"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Ortografia"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Mostra la barra d'eines"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Mostra la barra d'estat"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Lligams de tecla"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Configura l'aplicació"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Configura les barres d'eines"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Configura les notificacions"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Informeu d'un error"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Configura l'idioma…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Quant a l'aplicació"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Quant a KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Suprimix"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Canvia el nom"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Mou cap a dins de la paperera"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Donatius"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Mostra/Oculta els fitxers ocults"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Crea una carpeta"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Obri el menú principal"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Obri el menú contextual"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Eina de KDE per a actualitzar els fitxers de configuració d'usuari"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Conserva els resultats de l'eixida dels scripts"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Només per a les proves unitàries: no escriviu les entrades efectuades, així "
+"que en cada execució els scripts es tornen a executar de nou"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Comproveu si cal actualitzar el fitxer de configuració"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Fitxers per a llegir les instruccions d'actualització des de"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Directori per a generar els fitxers a [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "directori"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Mostra la llicència del programari."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Utilitza <fitxer> en comptes de la configuració global"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Grup on buscar. Utilitzeu «<predeterminat>» per al grup arrel, o utilitzeu-"
+"lo repetidament per a grups imbricats."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Clau que s'ha de buscar"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Valor predeterminat"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Tipus de variable"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"El nom de grup no pot estar buit, utilitzeu «<predeterminat>» per al grup "
+"arrel"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Tipus de variable. Utilitza «bool» per a un booleà. En un altre cas, es "
+"tracta com una cadena"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Suprimix la clau designada, si està seleccionada"
+
+# skip-rule: t-apo_ini,t-apo_fin
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"El valor que s'escriurà. És obligatori. En l'intèrpret d'ordres utilitzar '' "
+"si està buit"
--- /dev/null
+# SPDX-FileCopyrightText: 2014, 2016, 2017, 2018, 2019, 2020, 2023 Vít Pelčák <vit@pelcak.org>
+# SPDX-FileCopyrightText: 2021, 2022, 2024 Vit Pelcak <vit@pelcak.org>
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-27 15:24+0200\n"
+"Last-Translator: Vit Pelcak <vpelcak@suse.cz>\n"
+"Language-Team: Czech <kde-i18n-doc@kde.org>\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+"X-Generator: Lokalize 24.02.2\n"
+"X-Language: cs_CZ\n"
+"X-Source-Language: en_US\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Prosím kontaktujte svého správce systému."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Soubor s konfigurací \"%1\" je nyní zapisovatelný.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Výchozí"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Zpět"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Vpřed"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Domů"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Nový"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Vytvořit nový dokument"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Otevřít…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Otevřít existující dokument"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Otevřít ne&dávný"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Otevřít dokument jenž byl nedávno otevřen"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Uložit"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Uložit dokument"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Uložit j&ako…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Uložit dokument pod jiným názvem"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "&Vrátit zpět"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Vrátit neuložené změny v dokumentu"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Zavřít"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Zavřít dokument"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Tisknout…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Vytisknout dokument"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Ná&hled před tiskem"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Zobrazit náhled před tiskem"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&E-mail…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Odeslat dokument e-mailem"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "U&končit"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Ukončit aplikaci"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Zpět"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Vrátit zpět poslední činnost"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Zno&vu"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Zopakovat naposled vrácenou činnost"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Vyjmou&t"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Vyjmout výběr do schránky"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Kopírovat"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Kopírovat výběr do schránky"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "V&ložit"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Vložit obsah schránky"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Vyči&stit"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Vybr&at vše"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Zrušit vý&běr"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Najít…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Najít &následující"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Na&jít předchozí"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Na&hradit…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Zvětšit n&a skutečnou velikost"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Zobrazit dokument v reálné velikosti"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Přizpůsobit &stránce"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Přizpůsobit stránku oknu"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "&Přizpůsobit šířce stránky"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Přizpůsobit šířce stránky"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Přizpůsobit výš&ce stránky"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Přizpůsobit výšce stránky"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Přiblíž&it"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "&Oddálit"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Zvětšení…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Vybrat úroveň přiblížení"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "O&bnovit"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Obnovit dokument"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Nahor&u"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Přejít nahoru"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Předchozí strana"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Přejít na předchozí stranu"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Následující strana"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Přejít na následující stranu"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Přejít na…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Př&ejít na stranu…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Př&ejít na řádku…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&První strana"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Přejít na první stranu"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Pos&lední stránka:"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Přejít na poslední stranu"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Zpět"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Zpátky v dokumentu"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Vpřed"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Vpřed v dokumentu"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Přidat k záložkám"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Upr&avit záložky…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Kontrola pravopisu…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Zkontrolovat pravopis dokumentu"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Zobrazovat hlavní &nabídku"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Zobrazovat nebo skrýt hlavní nabídku"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Zobrazi&t panel nástrojů"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Zobrazovat nebo skrýt panel nástrojů"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Zobrazovat st&avový panel"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Zobrazovat nebo skrýt stavový panel"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Celoobrazovkový reži&m"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Nas&tavit klávesové zkratky…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Nastavit %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Nastavit panely nástro&jů…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "&Nastavit upozornění…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&Příručka aplikace '%1'"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Co je &toto?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Nahlásit &chybu…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Nastav&it jazyk…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "O &aplikaci '%1'"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "O prostředí &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Smazat"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Přejmenovat…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Pře&sunout do koše"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Přispějte"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Otevřít na&bídku"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Otevřít"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nový"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Zavřít"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Uložit"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Tisk"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Ukončit"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Zpět"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Znovu"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Vyjmout"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopírovat"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Vložit"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Vložit výběr"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Vybrat vše"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Zrušit označení"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Smazat slovo zpět"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Smazat slovo vpřed"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Najít"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Najít další"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Najít předchozí"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Nahradit"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Domů"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Začátek"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Konec"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Předchozí"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Následující"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Nahoru"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Zpět"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Vpřed"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Obnovit"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Začátek řádku"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Konec řádku"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Přejít na řádek"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "O slovo zpět"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "O slovo vpřed"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Přidat záložku"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Přiblížit"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Oddálit"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Celoobrazovkový režim"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Zobrazovat hlavní nabídku"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktivovat následující kartu"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktivovat předchozí kartu"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Nápověda"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Co je toto"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Doplňování textu"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Předchozí shoda doplňování"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Další shoda doplňování"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Dokončení podřetězců"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Předchozí položka v seznamu"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Další položka v seznamu"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Otevřít nedávné"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Uložit jako"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Vrátit zpět"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Náhled tisku"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Email"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Vyčistit"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Zvětšit na skutečnou velikost"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Přizpůsobit stránce"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Přizpůsobit šířce"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Přizpůsobit výšce"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Zvětšení"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Přejít"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Přejít na stranu"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dokument zpět"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dokument vpřed"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Upravit záložky"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Pravopis"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Zobrazit panel nástrojů"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Zobrazit stavový panel"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Klávesové zkratky"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Nastavit aplikaci"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Nastavit panely nástrojů"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Nastavit upozornění"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Nahlásit chybu"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Nastavit jazyk…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "O aplikaci"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "O prostředí KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Smazat"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Přejmenovat"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Přesunout do koše"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Přispět"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Zobrazit/skrýt skryté soubory"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Vytvořit složku"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Otevřít hlavní nabídku"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Otevřít kontextovou nabídku"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Nástroj KDE pro aktualizaci uživatelských souborů s nastavením"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Ponechat výsledky výstupu ze skriptů"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Zkontrolovat, zda soubor nastavení potřebuje aktualizaci"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Soubor(y) obsahující instrukce pro aktualizaci"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Adresář, kde se mají vytvářet soubory [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "adresář"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Zobrazit licenci softwaru"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Použít <file> místo globální konfigurace"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Skupina k prohledání. Použijte \"<default>\" pro kořenovou skupinu, nebo "
+"opakovaně pro vnořené skupiny."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Vyhledat klíč"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Výchozí hodnota"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Typ proměnné"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Název skupiny nemůže být prázdný. Použít \"<default>\" pro kořenovou skupinu"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Typ proměnné. Použijte \"bool\" pro booleovskou hodnotu, jinak je považováno "
+"za řetězec"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Smazat vybraný pokud povoleno"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Hodnota k zapsání. Povinná, v shellu použijte '' jako prázdnou hodnotu"
--- /dev/null
+# translation of kwriteconfig.po to Kaszëbsczi
+#
+# Michôł Òstrowsczi <michol@linuxcsb.org>, 2006, 2008.
+# Mark Kwidzińsczi <mark@linuxcsb.org>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2008-12-16 23:14+0100\n"
+"Last-Translator: Mark Kwidzińsczi <mark@linuxcsb.org>\n"
+"Language-Team: Kashubian <i18n-csb@linuxcsb.org>\n"
+"Language: csb\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 0.2\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2)\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Brëkùjë <lopka> w môlu òglowi kònfigùracëji"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Grëpa do sprawdzeniô. Brëkùjë czãsto dlô zagniéżdżónëch grëpów."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Szëkóny klucz"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Ôrt zmieniwny. Dlô logiczny wôrtnotë je to \"bool\", w procëmnym razu "
+"zmieniwnô bãdze trzëmónô jakò régã céchów"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Wôrtnota do zapisaniô. Nieòbéńdnô, w skriptach mòże brëkòwac '' dlô pùsti "
+"wôrtnotë"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Zapisanié wińdzeniô KConfig - do brëkòwaniô w skriptach"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Napisôł kreadconfig, na jaczim to je òpiarté"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# translation of kwriteconfig.po to Cymraeg
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# KGyfieithu <kyfieithu@dotmon.com>, 2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2003-07-22 17:02+0100\n"
+"Last-Translator: KGyfieithu <kyfieithu@dotmon.com>\n"
+"Language-Team: Cymraeg <cy@li.org>\n"
+"Language: cy\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.1\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Grŵp i edrych ynddi"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Grŵp i edrych ynddi"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Grŵp i edrych ynddi"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Grŵp i edrych ynddi"
+
+#: gui/kstandardshortcut.cpp:213
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Grŵp i edrych ynddi"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Defnyddio <ffeil> yn lle'r ffurfwedd eang"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Allwedd i edrych amdani"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Math newidyn. Defnyddiwch \"bool\" am un Booleaidd, neu fe'i drinir fel "
+"llinyn."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Y werth i'w ysgrifennu. Gorfodol, mewn plisgyn defnyddiwch '' am wag"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Ysgrifennu cofnodion KConfig - er defnydd mewn sgriptiau plisgyn"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Owain Green ar ran KGyfieithu - Meddalwedd Gymraeg"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "kyfieithu@dotmon.com"
--- /dev/null
+# translation of kwriteconfig.po to dansk
+# Danish translation of kwriteconfig
+# Copyright (C).
+#
+# Erik Kjær Pedersen <erik@binghamton.edu>, 2003.
+# Keld Simonsen <keld@dkuug.dk>, 2008.
+# Martin Schlander <mschlander@opensuse.org>, 2008, 2014, 2015, 2016, 2017, 2018, 2019, 2020.
+# SPDX-FileCopyrightText: 2024 rasmus rosendahl-kaa <rasmus@rosendahl-kaa.name>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-10-21 13:07+0200\n"
+"Last-Translator: rasmus rosendahl-kaa <rasmus@rosendahl-kaa.name>\n"
+"Language-Team: Danish <kde-i18n-doc@kde.org>\n"
+"Language: da\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 24.08.2\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Kontakt venligst din systemadministrator."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Indstillingsfilen \"%1\" er ikke skrivbar.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Standard"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Tilbage"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Frem"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Hjem"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Ny"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Opret nyt dokument"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Åbn…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Åbn et eksisterende dokument"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Åbn &nylige"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Åbn et dokument der er blevet åbnet for nyligt"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Gem"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Gem dokument"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Gem &som…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Gem dokument under et nyt navn"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Vend &tilbage"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Nulstil ikke-gemte ændringer af dokumentet"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Luk"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Luk dokument"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Udskriv…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Udskriv dokument"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Vis udskrif&t"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Vis udskrift for et dokument"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Mail…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Send dokument via e-mail"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Afslut"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Afslut programmet"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Fortryd"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Fortryd seneste handling"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Gen&dan"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Gendan seneste fortrudte handling"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "K&lip"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Klip det markerede til udklipsholderen"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Kopiér"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Kopiér markering til udklipsholder"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Indsæt"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Indsæt indhold fra udklipsholder"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "R&yd"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Markér &alt"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Fra&vælg"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Find…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Find &næste"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Find fo&rrige"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Erstat…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Zoom til &faktisk størrelse"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Se dokumentet i dets faktiske størrelse"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Pas til siden"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Zoom så siden passer til vinduet"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Pas til side&bredden"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Zoom så sidens bredde passer til vinduet"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Tilpas til side&højden"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Zoom så sidens højde passer til vinduet"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Zoom &ind"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Zoom &ud"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Zoom…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Vælg zoomniveau"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Genindlæs"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Genindlæs dokument"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Op"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Gå op"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Forrige side"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Gå til forrige side"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Næste side"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "&Gå til næste side"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Gå til…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Gå til side…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Gå til linje…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Første side"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "&Gå til første side"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Sidste side"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Gå til sidste side"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Tilbage"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Gå tilbage i dokumentet"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Frem"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Gå frem i dokumentet"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Tilføj bogmærke"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Redigér bogmærker…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Stavekontrol…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Kør stavekontrol på dokumentet"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Vis &menulinje"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Vis eller skjul menulinje"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Vis &værktøjslinje"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Vis eller skjul værktøjslinje"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Vis &statuslinje"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Vis elle skjul statuslinje"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "F&uldskærmstilstand"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Indstil tastaturg&enveje…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Indstil %1..."
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Indstil værktøjs&linjer"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Indstil &bekendtgørelser…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1-&håndbogen"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Hvad er &dette?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Rapportér programfejl…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Indstil &sprog..."
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Om %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Om &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Slet"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Omdøb…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Flyt til papirkurv"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Donér"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Åbn &menu"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Åbn"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Ny"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Luk"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Gem"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Udskriv"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Afslut"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Fortryd"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Gendan"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Klip"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopiér"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Indsæt"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Indsæt markering"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Markér alt"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Fravælg"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Slet ord baglæns"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Slet ord forlæns"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Find"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Find næste"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Find forrige"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Erstat"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Hjem"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Begynd"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Slutning"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Før"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Næste"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Op"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Tilbage"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Frem"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Genindlæs"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Linjestart"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Linjeafslutning"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Gå til linje"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Et ord tilbage"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Et ord frem"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Tilføj bogmærke"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Zoom ind"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Zoom ud"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Fuldskærmstilstand"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Vis menulinje"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktivér næste faneblad"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktivér forrige faneblad"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Hjælp"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Hvad er dette"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Tekstfuldførelse"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Forrige fuldførelsesmatch"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Næste fuldførelsesmatch"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Fuldførelse af delstreng"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Forrige punkt på listen"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Næste punkt på listen"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Åbn nylige"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Gem som"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Vend tilbage"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Vis udskrift"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Mail"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Ryd"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Zoom til faktisk størrelse"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Pas til siden"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Pas til bredden"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Pas til højden"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Zoom"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Gå til"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Gå til side"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dokument tilbage"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dokument frem"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Redigér bogmærker"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Stavekontrol"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Vis værktøjslinje"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Vis statuslinje"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Tastebindinger"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Indstil program"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Indstil værktøjslinjer"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Indstil bekendtgørelser"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Rapportér programfejl"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "&Indstil sprog..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Om programmet"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Om KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Slet"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Omdøb"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Flyt til papirkurv"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Donér"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Vis/skjul skjulte filer"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Opret mappe"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Åbn hovedmenu"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Åbn kontekstmenu"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE-værktøj til opdatering af brugerindstillingsfiler"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Behold output-resultater fra scripts"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Undersøg om config-filen selv kræver opdatering"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Filer at læse opdateringsinstruktioner fra"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Mappe som der skal genereres filer i [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "mappe"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Vis softwarelicens"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Brug <file> i stedet for global config"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Gruppe at kigge i. Brug \"<default>\" for root-gruppen eller brug gentagne "
+"gange for indskudte grupper."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Tast at kigge efter"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Standardværdi"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Type af variabel"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "Gruppenavne kan ikke være tomme, brug \"<default>\" for root-gruppen"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Variabeltype. Brug \"bool\" for en boolesk, ellers behandles den som en "
+"streng"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Slet den tildelte nøgle hvis aktiveret"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Værdien der skal skrives. Krævet, i en skal bruges '' for tom"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Dagens tip"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Kun til enhedstester: Brug testmapper for at holde dig fra brugerens "
+#~ "rigtige filer"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Gem indstillinger"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Skift programsprog"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Indstillinger"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Skriv KConfig-indgange - til brug i skal-scripts"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Skrev kreadconfig som dette er baseret på"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# SPDX-FileCopyrightText: 2023, 2024 Johannes Obermayr <johannesobermayr@gmx.de>
+# Thomas Diehl <thd@kde.org>, 2003.
+# Thomas Reitelbach <tr@erdfunkstelle.de>, 2006, 2007, 2008.
+# Frederik Schwarzer <schwarzer@kde.org>, 2012, 2014, 2015, 2016, 2020, 2022.
+# Burkhard Lück <lueck@hube-lueck.de>, 2014, 2015, 2016, 2017, 2018, 2019, 2021.
+# Frank Steinmetzger <dev-kde@felsenfleischer.de>, 2022.
+msgid ""
+msgstr ""
+"Project-Id-Version: kconfig6_qt\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-08-26 18:25+0200\n"
+"Last-Translator: Johannes Obermayr <johannesobermayr@gmx.de>\n"
+"Language-Team: German <kde-i18n-de@kde.org>\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 24.05.2\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Bitte nehmen Sie Kontakt zu Ihrer Systemverwaltung auf."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Einrichtungsdatei „%1“ lässt sich nicht speichern.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Standard"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Zurück"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Vorwärts"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Startseite"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Neu"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Neues Dokument erstellen"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Öff&nen …"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Vorhandenes Dokument öffnen"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "&Zuletzt geöffnete Dateien"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Kürzlich geöffnetes Dokument öffnen"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Speichern"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Dokument speichern"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Speichern &unter …"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Dokument unter einem neuen Namen speichern"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Zu&rücksetzen"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Nicht gespeicherte Änderungen am Dokument verwerfen"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Schließen"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Dokument schließen"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Drucken …"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Dokument drucken"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Druck&vorschau"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Druckvorschau des Dokuments anzeigen"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&E-Mail …"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Dokument als E-Mail versenden"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Be&enden"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Anwendung beenden"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Rückgängig"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Letzte Aktion zurücknehmen"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Wie&derherstellen"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Letzte rückgängig gemachte Aktion wieder herstellen"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&Ausschneiden"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Auswahl in Zwischenablage ausschneiden"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Kopieren"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Auswahl in die Zwischenablage kopieren"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Einfügen"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Inhalt der Zwischenablage einfügen"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "&Löschen"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "&Alle auswählen"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Auswahl aufheben"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Suchen …"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "&Weitersuchen"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "&Frühere suchen"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Ersetzen …"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Auf &Originalgröße zoomen"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Dokument in Originalgröße anzeigen"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Auf Seite einpassen"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Skalieren um Seite in Fenster einzupassen"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Auf Seiten&breite einpassen"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Skalieren um Seitenbreite in Fenster einzupassen"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Auf Seiten&höhe einpassen"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Skalieren um Seitenhöhe in Fenster einzupassen"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Ver&größern"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Ver&kleinern"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Vergrößerung …"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Vergrößerung auswählen"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Aktualisieren"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Dokument aktualisieren"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Nach &oben"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Nach oben"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Vorherige Seite"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Zur vorherigen Seite"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Nächste Seite"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Zur nächsten Seite gehen"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Gehe zu …"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Zu &Seite gehen …"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Zu &Zeile gehen …"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Erste Seite"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Zur ersten Seite gehen"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Letzte Seite"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Zur letzten Seite"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Zurück"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Rückwärts im Dokument"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Vorwärts"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Vorwärts im Dokument"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Lesezeichen hin&zufügen"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Lesezeichen &bearbeiten …"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Rech&tschreibung …"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Rechtschreibprüfung im Dokument"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "&Menüleiste anzeigen"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Menüleiste anzeigen oder ausblenden"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "&Werkzeugleiste anzeigen"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Werkzeugleiste anzeigen oder ausblenden"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "&Statusleiste anzeigen"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Statusleiste anzeigen oder ausblenden"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "&Vollbildmodus"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Tastaturkurzbefe&hle festlegen …"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "%1 einrichten …"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Werk&zeugleisten einrichten …"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "&Benachrichtigungen festlegen …"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&Handbuch zu %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "&Was ist das?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "P&robleme oder Wünsche berichten …"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "&Sprache einrichten …"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Ü&ber %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Über &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Löschen"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Umbenennen …"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "In den &Papierkorb verschieben"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Spenden"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "&Menü öffnen"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Öffnen"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Neu"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Schließen"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Speichern"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Drucken"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Beenden"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Rückgängig"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Wiederherstellen"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Ausschneiden"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopieren"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Einfügen"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Auswahl einfügen"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Alle auswählen"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Auswahl aufheben"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Vorheriges Wort löschen"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Nächstes Wort löschen"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Suchen"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Weitersuchen"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Vorherige suchen"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Ersetzen"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Pos 1"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Anfang"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Ende"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Vorherige"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Weiter"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Nach oben"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Zurück"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Vorwärts"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Neu laden"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Zeilenanfang"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Zeilenende"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Gehe zu Zeile"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Ein Wort zurück"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Ein Wort vor"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Lesezeichen hinzufügen"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Vergrößern"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Verkleinern"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Vollbildmodus"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Menüleiste anzeigen"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Nächstes Unterfenster aktivieren"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Vorheriges Unterfenster aktivieren"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Hilfe"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Was ist das"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Textvervollständigung"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Vorherige Vervollständigung"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Nächste Vervollständigung"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Teilzeichenfolgen-Vervollständigung"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Vorheriges Listenelement"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Nächstes Listenelement"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Zuletzt geöffnete Dateien"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Speichern unter"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Zurücksetzen"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Druckvorschau"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Via E-Mail versenden"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Leeren"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Auf Originalgröße zoomen"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Auf Seite einpassen"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Auf Seitenbreite einpassen"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Auf Seitenhöhe einpassen"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Skalierung"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Gehe zu"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Gehe zu Seite"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Vorheriges Dokument"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Nächstes Dokument"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Lesezeichen bearbeiten"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Rechtschreibung"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Werkzeugleiste anzeigen"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Statusleiste anzeigen"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Kurzbefehle"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Anwendung einrichten"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Werkzeugleisten einrichten"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Benachrichtigungen festlegen"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Probleme oder Wünsche berichten"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Sprache einrichten …"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Über die Anwendung"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Über KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Löschen"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Umbenennen"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "In den Papierkorb verschieben"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Spenden"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Versteckte Dateien anzeigen/ausblenden"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Ordner erstellen"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Hauptmenü öffnen"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Kontextmenü öffnen"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+"KDE-Dienstprogramm für die Aktualisierung von Benutzer-Konfigurationsdateien"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Skriptausgaben speichern"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Nur für Unit-Tests: Die ausgeführten Einträge nicht schreiben, damit bei "
+"jeder neuen Ausführung alle Skripte nochmals ausführt werden"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+"Überprüfen Sie, ob die Konfigurationsdatei selbst aktualisiert werden muss"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Dateien, der die Aktualisierungs-Informationen entnommen werden sollen"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Ordner, in dem die Dateien generiert werden [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "Ordner"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Zeigt die Software-Lizenz an."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "<file> statt globaler Konfigurationsdatei verwenden"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Zu durchsuchende Gruppe. Mehrfach verwenden zur Suche in verschachtelten "
+"Gruppen, oder „<default>“ für die Wurzelgruppe."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Zu suchender Schlüssel"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Standardwert"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Art der Variable"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Der Gruppenname darf nicht leer sein, benutzen Sie „<default>“ für die "
+"Wurzelgruppe"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Art der Variable. Verwenden Sie „bool“ für den booleschen Typ. Anderenfalls "
+"wird sie als Zeichenfolge (string) behandelt."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Bezeichneten Schlüssel löschen, wenn er aktiviert ist"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Zu schreibender Wert. Zwingend erforderlich. Bei Shells bitte '' verwenden, "
+"um „leer“ vorzugeben."
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Tipp des Tages"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Nur für Unittests: Test-Ordner verwenden, um die Tests von den "
+#~ "eigentlichen Benutzerdateien zu trennen"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Optionen speichern"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Sprache der Anwendung umschalten"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Einstellungen"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "KConfig-Einträge schreiben – Zur Verwendung in Shell-Skripten"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "© 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Hat kreadconfig entwickelt, auf dem KWriteConfig basiert"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Thomas Diehl"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "thd@kde.org"
--- /dev/null
+# translation of kwriteconfig.po to Greek
+# Copyright (C) 2003, 2004, 2007, 2008 Free Software Foundation, Inc.
+#
+# Stergios Dramis <sdramis@egnatia.ee.auth.gr>, 2003-2004.
+# Spiros Georgaras <sng@hellug.gr>, 2007.
+# Spiros Georgaras <sngeorgaras@otenet.gr>, 2008.
+# Dimitris Kardarakos <dimkard@gmail.com>, 2015, 2016.
+# Stelios <sstavra@gmail.com>, 2020, 2023.
+# SPDX-FileCopyrightText: 2024 George Stefanakis <george.stefanakis@gmail.com>
+# Antonis Geralis <capoiosct@gmail.com>, 2024.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-09-07 21:11+0300\n"
+"Last-Translator: Αντώνης Γέραλης <capoiosct@gmail.com>\n"
+"Language-Team: Greek <kde-i18n-doc@kde.org>\n"
+"Language: el\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Lokalize 24.08.0\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Επικοινωνήστε με τον διαχειριστή του συστήματός σας."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Το αρχείο διαμόρφωσης \"%1\" δεν είναι εγγράψιμο.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Προκαθορισμένο"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Πίσω"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Μπροστά"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Αρχική"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Νέο"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Δημιουργία νέου εγγράφου"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Άνοι&γμα…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Άνοιγμα υπάρχοντος εγγράφου"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Άνοιγμα &πρόσφατου"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Άνοιγμα ενός εγγράφου που ανοίχτηκε πρόσφατα"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Αποθήκευση"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Αποθήκευση εγγράφου"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Αποθήκευση &ως…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Αποθήκευση εγγράφου με νέο όνομα"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Επαναφο&ρά"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Επαναφορά μη αποθηκευμένων αλλαγών στο έγγραφο"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Κλείσιμο"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Κλείσιμο εγγράφου"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Εκτύπωση…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Εκτύπωση εγγράφου"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Προεπισκόπηση ε&κτύπωσης"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Εμφάνιση προεπισκόπησης εκτύπωσης του εγγράφου"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Αλληλογραφία…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Αποστολή εγγράφου μέσω ταχυδρομείου"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Έ&ξοδος"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Κλείσιμο εφαρμογής"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Αναίρεση"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Αναίρεση της τελευταίας ενέργειας"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Επαναφορά"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Επανάληψη της τελευταίας ενέργειας που ακυρώθηκε"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Αποκο&πή"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Αποκοπή επιλογής στο πρόχειρο"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Αντιγραφή"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Αντιγραφή επιλογής στο πρόχειρο"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Επικόλληση"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Επικόλληση περιεχομένου πρόχειρου"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Εκκα&θάριση"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Επι&λογή όλων"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Αποεπιλ&ογή"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Εύρεση…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Εύρεση &επόμενου"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Εύρεση προη&γούμενου"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Αντικατάσταση…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Εστίαση σε &πραγματικό μέγεθος"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Προβολή του εγγράφου στο πραγματικό του μέγεθος"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Προσαρμογή στη σελίδα"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Εστίαση για προσαρμογή σελίδας στο παράθυρο"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Προσαρμογή στο &πλάτος σελίδας"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Εστίαση για προσαρμογή πλάτους σελίδας στο παράθυρο"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Προσαρμογή στο ύ&ψος σελίδας"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Εστίαση για προσαρμογή ύψους σελίδας στο παράθυρο"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "&Μεγέθυνση"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "&Σμίκρυνση"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Εσ&τίαση…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Επιλογή επιπέδου εστίασης"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Ανανέωση"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Ανανέωση εγγράφου"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Πάνω"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Μετάβαση πάνω"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Προηγούμενη σελίδα"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Μετάβαση στην προηγούμενη σελίδα"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Επόμενη σελίδα"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Μετάβαση στην επόμενη σελίδα"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Μετάβαση σε…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Μετάβαση στη σελίδα…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Μετάβαση στη γραμμή…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Πρώτη σελίδα"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Μετάβαση στην πρώτη σελίδα"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Τελευταία σελίδα"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Μετάβαση στην τελευταία σελίδα"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Πίσω"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Μετάβαση πίσω στο έγγραφο"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Μπροστά"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Μετάβαση προς τα εμπρός στο έγγραφο"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Προσθήκη σελιδοδείκτη"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Επεξεργασία σελιδοδεικτών…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Ορθογραφία…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Έλεγχος ορθογραφίας στο έγγραφο"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Εμφάνιση &γραμμής μενού"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Εμφάνιση ή απόκρυψη της γραμμής μενού"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Εμφάνιση &γραμμής εργαλείων"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Εμφάνιση ή απόκρυψη γραμμής εργαλείων"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Εμφάνιση γραμμής κατάστασης"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Εμφάνιση ή απόκρυψη γραμμής κατάστασης"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Λειτουργία πλήρους οθόνης"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Διαμόρφωση συν&τομεύσεων πληκτρολογίου…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Διαμόρφωση %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Διαμόρφωση εργαλείων &γραμμών…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Διαμόρφωση &ειδοποιήσεων…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 &εγχειρίδιο"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Τι είναι αυτό?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Αναφορά σφάλματος…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Διαμόρφωση γ&λώσσας…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Σ&χετικά με το %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Σχετικά με το &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Διαγραφή"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Μετονομασία…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Μετακίνηση στα απορρίμματα"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Δωρεά"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Άνο&ιγμα κυρίως μενού"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Άνοιγμα"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Νέο"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Κλείσιμο"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Αποθήκευση"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Εκτύπωση"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Έξοδος"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Αναίρεση"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Επανάληψη"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Αποκοπή"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Αντιγραφή"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Επικόλληση"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Επικόλληση επιλογής"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Επιλογή όλων"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Αποεπιλογή"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Διαγραφή λέξης προς τα πίσω"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Διαγραφή λέξης μπροστά"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Εύρεση"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Εύρεση επόμενου"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Εύρεση προηγούμενου"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Αντικατάσταση"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Αρχική"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Αρχή"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Τέλος"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Προηγούμενο"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Επόμενο"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Πάνω"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Πίσω"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Μπροστά"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Επαναφόρτωση"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Αρχή γραμμής"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Τέλος γραμμής"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Μετάβαση στη γραμμή"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Λέξη προς τα πίσω"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Λέξη μπροστά"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Προσθήκη σελιδοδείκτη"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Μεγέθυνση"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Σμίκρυνση"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Λειτουργία πλήρους οθόνης"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Εμφάνιση γραμμής μενού"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Ενεργοποίηση της επόμενης καρτέλας"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Ενεργοποίηση προηγούμενης καρτέλας"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Βοήθεια"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Τι είναι αυτό"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Συμπλήρωση κειμένου"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Προηγούμενο ταίριασμα συμπλήρωσης"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Επόμενο ταίριασμα συμπλήρωσης"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Συμπλήρωση υποσυμβολοσειράς"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Προηγούμενο αντικείμενο στη λίστα"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Επόμενο αντικείμενο στη λίστα"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Άνοιγμα πρόσφατου"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Αποθήκευση ως"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Επαναφορά"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Προεπισκόπηση εκτύπωσης"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Αλληλογραφία"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Εκκαθάριση"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Εστίαση στο πραγματικό μέγεθος"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Προσαρμογή στη σελίδα"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Προσαρμογή στο πλάτος"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Προσαρμογή στο ύψος"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Εστίαση"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Μετάβαση"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Μετάβαση σε σελίδα"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Έγγραφο πίσω"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Έγγραφο μπροστά"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Επεξεργασία σελιδοδεικτών"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Ορθογραφία"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Εμφάνιση γραμμής εργαλείων"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Εμφάνιση γραμμής κατάστασης"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Πλήκτρα συνδυασμών"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Διαμόρφωση εφαρμογής"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Διαμόρφωση γραμμών εργαλείων"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Διαμόρφωση ειδοποιήσεων"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Αναφορά σφάλματος"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Διαμόρφωση γλώσσας..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Σχετικά με την εφαρμογή"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Σχετικά με το KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Διαγραφή"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Μετονομασία"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Μετακίνηση στα απορρίμματα"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Δωρεά"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Εμφάνιση/απόκρυψη κρυφών αρχείων"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Δημιουργία φακέλου"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Άνοιγμα κυρίως μενού"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Άνοιγμα κυρίως μενού"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Εργαλείο του KDE για ενημέρωση των αρχείων διαμόρφωσης των χρηστών"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Διατήρηση των αποτελεσμάτων των σεναρίων κελύφους"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Μόνο για τις δοκιμές μονάδας: μην γράφετε τις καταχωρήσεις done, έτσι ώστε "
+"σε κάθε επανεκτέλεση, τα σενάρια να εκτελούνται ξανά"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+"Έλεγχος για το αν αυτό καθαυτό το αρχείο διαμόρφωσης χρειάζεται ενημέρωση"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Αρχείο(α) για ανάγνωση εντολών ενημέρωσης"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Ο κατάλογος όπου θα δημιουργηθούν τα αρχεία [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "κατάλογος"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Εμφάνιση άδειας χρήσης λογισμικού."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Χρήση <αρχείου> αντί καθολικής διαμόρφωσης"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Ομάδα στην οποία θα γίνει η αναζήτηση. Χρησιμοποιήστε \"<default>\" για την "
+"ομάδα του root ή επαναληπτικά για εμφωλευμένες ομάδες."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Κλειδί για αναζήτηση"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Προκαθορισμένη τιμή"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Τύπος μεταβλητής"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Το όνομα της ομάδας δεν μπορεί να είναι κενό, χρησιμοποιήστε \"<default>\" "
+"για την ομάδα του root"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Τύπος μεταβλητής. Χρησιμοποιήστε \"bool\" για boolean, αλλιώς "
+"αντιμετωπίζεται ως συμβολοσειρά"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Να διαγραφεί το σημειωμένο κλειδί αν είναι ενεργό"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Η τιμή για εγγραφή. Υποχρεωτική, σε ένα κέλυφος χρησιμοποιήστε '' για κενό"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Συμβουλή της ημέρας"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Για ελέγχους από τον προγραμματιστή και μόνο: χρησιμοποιήστε "
+#~ "δοκιμαστικούς καταλόγους για να μείνετε μακρυά από τα πραγματικά αρχεία "
+#~ "του χρήστη"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Επιλογές αποθήκευσης"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Εναλλαγή γλώσσας εφαρμογής"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Προτιμήσεις"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Εγγραφή καταχωρήσεων KConfig - για χρήση σε σενάρια κελύφους"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Έγραψε το kreadconfig, στο οποίο βασίζεται αυτό"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# translation of kwriteconfig.po to British English
+# Copyright (C) 2003, 2008 Free Software Foundation, Inc.
+#
+# Malcolm Hunter <malcolm.hunter@gmx.co.uk>, 2003, 2008.
+# Andrew Coles <andrew_coles@yahoo.co.uk>, 2009.
+# SPDX-FileCopyrightText: 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2022, 2023, 2024 Steve Allewell <steve.allewell@gmail.com>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-24 16:48+0100\n"
+"Last-Translator: Steve Allewell <steve.allewell@gmail.com>\n"
+"Language-Team: British English\n"
+"Language: en_GB\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Lokalize 24.02.2\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Please contact your system administrator."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Configuration file \"%1\" not writable.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Default"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Back"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Forward"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Home"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&New"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Create new document"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Open…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Open an existing document"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Open &Recent"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Open a document which was recently opened"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Save"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Save document"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Save &As…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Save document under a new name"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Re&vert"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Revert unsaved changes made to document"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Close"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Close document"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Print…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Print document"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Print Previe&w"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Show a print preview of document"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Mail…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Send document by mail"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Quit"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Quit application"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Undo"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Undo last action"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Re&do"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Redo last undone action"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Cu&t"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Cut selection to clipboard"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Copy"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Copy selection to clipboard"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Paste"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Paste clipboard content"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "C&lear"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Select &All"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Dese&lect"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Find…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Find &Next"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Find Pre&vious"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Replace…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Zoom to &Actual Size"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "View document at its actual size"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Fit to Page"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Zoom to fit page in window"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Fit to Page &Width"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Zoom to fit page width in window"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Fit to Page &Height"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Zoom to fit page height in window"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Zoom &In"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Zoom &Out"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Zoom…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Select zoom level"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Refresh"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Refresh document"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Up"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Go up"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Previous Page"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Go to previous page"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Next Page"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Go to next page"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Go To…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Go to Page…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Go to Line…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&First Page"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Go to first page"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Last Page"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Go to last page"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Back"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Go back in document"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Forward"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Go forward in document"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Add Bookmark"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Edit Bookmarks…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Spelling…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Check spelling in document"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Show &Menubar"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Show or hide menubar"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Show &Toolbar"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Show or hide toolbar"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Show St&atusbar"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Show or hide statusbar"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "F&ull Screen Mode"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Configure Keyboard S&hortcuts…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Configure %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Configure Tool&bars…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Configure &Notifications…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 &Handbook"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "What's &This?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Report Bug…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Configure &Language…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&About %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "About &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Delete"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Rename…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Move to Wastebin"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Donate"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Open &Menu"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Open"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "New"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Close"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Save"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Print"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Quit"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Undo"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Redo"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Cut"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Copy"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Paste"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Paste Selection"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Select All"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Deselect"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Delete Word Backwards"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Delete Word Forward"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Find"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Find Next"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Find Prev"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Replace"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Home"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Begin"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "End"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Prior"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Next"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Up"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Back"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Forward"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Reload"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Beginning of Line"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "End of Line"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Go to Line"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Backward Word"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Forward Word"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Add Bookmark"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Zoom In"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Zoom Out"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Full Screen Mode"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Show Menu Bar"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Activate Next Tab"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Activate Previous Tab"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Help"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "What's This"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Text Completion"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Previous Completion Match"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Next Completion Match"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Substring Completion"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Previous Item in List"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Next Item in List"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Open Recent"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Save As"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Revert"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Print Preview"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Mail"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Clear"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Zoom to Actual Size"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Fit To Page"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Fit To Width"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Fit To Height"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Zoom"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Goto"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Goto Page"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Document Back"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Document Forward"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Edit Bookmarks"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Spelling"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Show Toolbar"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Show Statusbar"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Key Bindings"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Configure Application"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Configure Toolbars"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Configure Notifications"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Report Bug"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Configure Language…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "About Application"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "About KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Delete"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Rename"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Move to Wastebin"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Donate"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Show/Hide Hidden Files"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Create Folder"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Open Main Menu"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Open Context Menu"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE Tool for updating user configuration files"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Keep output results from scripts"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Check whether config file itself requires updating"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "File(s) to read update instructions from"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Directory to generate files in [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "directory"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Display software licence."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Use <file> instead of global config"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Key to look for"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Default value"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Type of variable"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "Group name cannot be empty, use \"<default>\" for the root group"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Delete the designated key if enabled"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "The value to write. Mandatory, on a shell use '' for empty"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Tip Of Day"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Save Options"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Switch Application Language"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Preferences"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Write KConfig entries - for use in shell scripts"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Wrote kreadconfig on which this is based"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Malcolm Hunter"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "malcolm.hunter@gmx.co.uk"
--- /dev/null
+# translation of kconfig6_qt.pot to esperanto
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This file is distributed under the same license as the kconfig package.
+# Matthias Peick <matthias@peick.de>, 2004.
+# Pierre-Marie Pédrot <pedrotpmx@wanadoo.fr>, 2007.
+# Michael Moroni <michael.moroni@mailoo.org>, 2012.
+# Oliver Kellogg <olivermkellogg@gmail.com>, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-30 07:49+0200\n"
+"Last-Translator: Oliver Kellogg <olivermkellogg@gmail.com>\n"
+"Language-Team: Esperanto <kde-i18n-eo@kde.org>\n"
+"Language: eo\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.4\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Poedit-Language: Esperanto\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Bonvolu kontakti vian sisteman administranton."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Agorda dosiero \"%1\" ne skribebla.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Defaŭlto"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Reen"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Antaŭen"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Hejma"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Nova"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Krei novan dokumenton"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Malfermi…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Malfermi ekzistantan dokumenton"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Malfermi &Lastatempan"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Malfermi dokumenton kiu estis lasttempe malfermita"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Kon&servi"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Konservi dokumenton"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Konservi &Kiel…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Konservi dokumenton sub nova nomo"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Mal&fari"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Malfari nekonservitajn ŝanĝojn faritajn al dokumento"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "F&ermi"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Fermi dokumenton"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Presi…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Presi dokumenton"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Pres-Antaŭrigar&do"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Montri antaŭrigardon de presita dokumento"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Ret&poŝti…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Sendi dokumenton per retpoŝto"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "F&orlasi"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Forlasi aplikon"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Malfar&u"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Malfari lastan agon"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Re&fari"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Refari laste malfaritan agon"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&Tondi"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Tondi elekton al poŝo"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Kopii"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Kopii elekton al poŝo"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Alglui"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Alglui poŝenhavon"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "V&iŝi"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Elekti &Ĉion"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Male&lekti"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Trovi…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Trovi Sekva&n"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Tro&vi Antaŭan"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Anstataŭigi…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Zomi al F&akta Grandeco"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Rigardi dokumenton en ĝia fakta grandeco"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Ĝisrandigi al Paĝo"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Zomi por konvenigi paĝon en fenestro"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Ĝisrandigi al Paĝa &Larĝeco"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Zomi por konvenigi paĝolarĝecon en fenestro"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Ĝisrandigi al Paĝa Alte&co"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Zomi por konvenigi paĝan altecon en fenestro"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Zom&i"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Malz&omi"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Zomi…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Elekti zomnivelon"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Refreŝigi"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Refreŝigi dokumenton"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "S&upren"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Iri supren"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "Antaŭa &Paĝo"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Iri al antaŭa paĝo"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Sekva&nta Paĝo"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Iri al sekva paĝo"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Iri Al…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Iri al Paĝo…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Iri al Linio…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Unua Paĝo"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Iri al unua paĝo"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Lasta Paĝo"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Iri al lasta paĝo"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Malantaŭen"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Iri malantaŭen en la dokumento"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Antaŭen"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Iri antaŭen en la dokumento"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Aldoni Legosignon"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "R&edakti Legosignojn…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Literumo…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Kontroli literumon en dokumento"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Montri &Menubreton"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Montri aŭ kaŝi menubreton"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Montri Ilobre&ton"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Montri aŭ kaŝi ilobreton"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Montri St&atusbreton"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Montri aŭ kaŝi statusbreton"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Plen-Ekrana Reĝim&o"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Agordi &Klavarkombinojn…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "A&gordi %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Agordi Ilo&bretojn…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Agordi Sciigoj&n…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&Manlibro %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Kio estas &Tio?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Raporti Cimon…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Agordi &Lingvon…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Pri %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Pri &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Forigi"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Renomi…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Movi al Rubujo"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Donaci"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Malfermi &Menuon"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Malfermi"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nova"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Fermi"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Konservi"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Presi"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Forlasi"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Malfari"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Refari"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Tranĉi"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopii"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Alglui"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Alglui Elekton"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Elekti Ĉion"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Malelekti"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Forigi Vorton Malantaŭen"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Forigi Vorton Antaŭen"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Trovi"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Trovi Sekvan"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Trovi Antaŭan"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Anstataŭigi"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Hejmo"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Komenco"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Fino"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Antaŭa"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Posta"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Supren"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Reen"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Antaŭen"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Reŝargi"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Komenco de Linio"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Fino de Linio"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Iri al Linio"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Malantaŭen Vorte"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Antaŭen Vorte"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Aldoni legosignon"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Zomi"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Malzomi"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Plena Ekrana Reĝimo"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Montri Menubreton"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktivigi Sekvan Langeton"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktivigi Antaŭan Langeton"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Helpo"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Kio estas tio"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Teksto Kompletigo"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Antaŭa Kompleta Kongruo"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Sekva Kompleta Kongruo"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Subĉena Kompletigo"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Antaŭa Ero en Listo"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Sekva Ero en Listo"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Malfermi Lastatempan"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Konservi kiel"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Reiri"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Presita antaŭvido"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Poŝto"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Klara"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Zomi al Fakta Grandeco"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Ĝisrandigi al Paĝo"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Ĝisrandigi al Larĝo"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Ĝisrandigi al Alteco"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Zomi"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Iri al"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Iri al Paĝo"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dokumento Reen"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dokumento Antaŭen"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Redakti legosignojn"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Literumo"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Montri Ilobreton"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Montri Statusbreton"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Klavkombinoj"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Agordi Aplikaĵon"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Agordi Ilobretojn"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Agordi Sciigojn"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Raporti Cimon"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Agordi Lingvon…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Pri Apliko"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Pri KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Forigi"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Alinomi"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Movi al Rubujo"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Doni"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Montri/Kaŝi Kaŝitajn dosierojn"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Krei Dosierujon"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Malfermi Ĉefmenuon"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Malfermi Kuntekstmenuon"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE-ilo por ĝisdatigi uzantajn agordajn dosierojn"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Konservi eligajn rezultojn de skriptoj"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Nur por unuotestoj: ne skribi la pretajn enirojn por ke je ĉiu relanĉo, la "
+"skriptoj estos ree ruligataj"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Kontroli ĉu agorda dosiero mem postulas ĝisdatigon"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Dosiero(j) por legi ĝisdatigajn instrukciojn"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Dosierujo en kiu generi dosierojn [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "dosierujo"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Montri programlicencon."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Uzi <file> anstataŭ ol ĉieaj agordoj"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Grupo priserĉenda. Uzu \"<defaŭlta>\" por la radika grupo, aŭ uzu ripete por "
+"ingitaj grupoj."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Serĉenda ŝlosilo"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Defaŭlta valoro"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Speco de variablo"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "Grupnomo ne povas esti malplena, uzu \"<default>\" por la radika grupo"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Speco de variablo. Uzu \"bool\" por bulea, alikaze ĝi estas traktata kiel "
+"ĉeno"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Forigi la elektitan ŝlosilon se ĝi estas ebligita"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "La skribenda valoro. Nepre, en ŝelo uzu '' kiel malplena"
--- /dev/null
+# translation of kwriteconfig.po to Spanish
+# Translation of kwriteconfig to Spanish
+# Copyright (C) 2003, 2007, 2008 Free Software Foundation, Inc.
+#
+# Miguel Revilla Rodríguez <yo@miguelrevilla.com>, 2003.
+# Jaime Robles <jaime@kde.org>, 2003, 2008.
+# Enrique Matias Sanchez (aka Quique) <cronopios@gmail.com>, 2007.
+# SPDX-FileCopyrightText: 2012, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Eloy Cuadra <ecuadra@eloihr.net>
+# Rocio Gallego <traducciones@rociogallego.com>, 2014.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-22 03:53+0200\n"
+"Last-Translator: Eloy Cuadra <ecuadra@eloihr.net>\n"
+"Language-Team: Spanish <kde-l10n-es@kde.org>\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 24.02.2\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Póngase en contacto con el administrador de su sistema."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "No se puede escribir en el archivo de configuración «%1».\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Por omisión"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "A&trás"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "A&delante"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Inicio"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Nueva"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Crear nuevo documento"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Abrir..."
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Abrir un documento existente"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Abrir &reciente"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Abrir un documento abierto recientemente"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Guardar"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Guardar documento"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "G&uardar como..."
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Guardar el documento con un nombre nuevo"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Re&vertir"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Revertir los cambios sin guardar hechos en el documento"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Cerrar"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Cerrar el documento"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Im&primir..."
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Imprimir documento"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Vista previa de la i&mpresión"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Mostrar una vista previa del documento impreso"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "C&orreo..."
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Enviar el documento por correo"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Salir"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Salir de la aplicación"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Deshacer"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Deshacer la última acción"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Re&hacer"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Rehacer la última acción deshecha"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Cor&tar"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Cortar la selección al portapapeles"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Copiar"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Copiar la selección al portapapeles"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Pegar"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Pegar el contenido del portapapeles"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "&Borrar"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "&Seleccionar todo"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Dese&leccionar"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Buscar..."
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Buscar si&guiente"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "B&uscar anterior"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Sustituir..."
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "&Ampliar al tamaño real"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Ver el documento en su tamaño real"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "A&justar a la página"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Ampliar para que la página quepa en la ventana"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Ajustar a la a&nchura de la página"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Ampliar para que la anchura de la página quepa en la ventana"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Ajus&tar a la altura de la página"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Ampliar para que la altura de la página quepa en la ventana"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Ampl&iar"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "&Reducir"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "A&mpliación..."
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Seleccionar el nivel de ampliación"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Refrescar"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Actualizar el documento"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Arriba"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Subir"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Página anterior"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Ira a la página anterior"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Pági&na siguiente"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Ir a la página siguiente"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Ir a..."
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Ir a la página..."
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Ir a la línea..."
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Pri&mera página"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Ir a la primera página"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Ú<ima página"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Ir a la última página"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Retroceder"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Retroceder en el documento"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "A&vanzar"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Avanzar en el documento"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Añadir marcador"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Editar marcadores..."
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Comprobación &ortográfica..."
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Comprobar la ortografía del documento"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "&Mostrar la barra de menú"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Mostrar u ocultar la barra de menú"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Mos&trar la barra de herramientas"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Mostrar u ocultar la barra de herramientas"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Mostrar la b&arra de estado"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Mostrar u ocultar la barra de estado"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "&Modo de pantalla completa"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Configurar los ata&jos de teclado..."
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Configurar %1..."
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Configurar &barras de herramientas..."
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Configurar ¬ificaciones..."
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&Manual de %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "¿&Qué es esto?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "In&formar de fallo..."
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Configurar &idioma..."
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Acerca de %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Acerca de &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Borrar"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Cambiar &nombre..."
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Mover a la papelera"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Hacer un &donativo"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Abrir el &menú"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Abrir"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nuevo"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Cerrar"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Guardar"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Imprimir"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Salir"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Deshacer"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Rehacer"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Cortar"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Copiar"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Pegar"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Pegar selección"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Seleccionar todo"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Deseleccionar"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Borrar palabra hacia atrás"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Borrar palabra hacia adelante"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Buscar"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Buscar siguiente"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Buscar anterior"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Sustituir"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Inicio"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Principio"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Fin"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Anterior"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Siguiente"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Arriba"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Atrás"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Adelante"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Volver a cargar"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Principio de línea"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Fin de línea"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Ir a la línea"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Palabra anterior"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Palabra siguiente"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Añadir marcador"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Ampliar"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Reducir"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Modo de pantalla completa"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Mostrar la barra de menú"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Activar siguiente pestaña"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Activar anterior pestaña"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Ayuda"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "¿Qué es esto?"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Terminación de texto"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Coincidencia de terminación anterior"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Coincidencia de terminación siguiente"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Terminación de subcadenas"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Anterior elemento de la lista"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Siguiente elemento de la línea"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Abrir reciente"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Guardar como"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Revertir"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Vista previa de la impresión"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Correo"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Borrar"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Ampliar al tamaño real"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Ajustar a la página"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Ajustar al ancho"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Ajustar a la altura"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Ampliación"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Ir a"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Ir a la página"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Anterior documento"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Siguiente documento"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Editar marcadores"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Corrección ortográfica"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Mostrar la barra de herramientas"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Mostrar la barra de estado"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Asignaciones de teclas"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Configurar aplicación"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Configurar barras de herramientas"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Configurar notificaciones"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Informar de fallo"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Configurar idioma..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Acerca de la aplicación"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Acerca de KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Borrar"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Cambiar nombre"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Mover a la papelera"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Hacer un donativo"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Mostrar/ocultar archivos ocultos"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Crear carpeta"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Abrir el menú principal"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Abrir el menú de contexto"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+"Herramienta de KDE para actualizar archivos de configuración de usuario"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Mantener los resultados de salida de los scripts"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Solo para pruebas unitarias: no escribir las entradas terminadas, de modo "
+"que con cada repetición se ejecuten de nuevo los guiones"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Comprobar si el archivo de configuración necesita actualización"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Archivo(s) de donde leer las instrucciones de actualización"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Directorio en el que generar los archivos [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "directorio"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Mostrar la licencia del software."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Usar <archivo> en lugar de la configuración global"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Grupo en el que buscar. Use «<predeterminado>» para el grupo raíz, o úselo "
+"de forma repetida para grupos anidados."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Clave a buscar"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Valor por omisión"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Tipo de variable"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"El nombre del grupo no puede estar vacío. Use «<predeterminado>» para el "
+"grupo raíz."
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Tipo de variable. Use «bool» para un booleano, de lo contrario se tratará "
+"como una cadena"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Borrar la clave designada si está activado"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"El valor a escribir. Obligatorio. En un intérprete de órdenes use '' para "
+"indicar vacío"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Consejo del día"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Solo para pruebas unitarias: usar directorios de pruebas para proteger "
+#~ "los archivos reales del usuario"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Guardar opciones"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Cambiar idioma de la aplicación"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Preferencias"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr ""
+#~ "Escribir entradas de KConfig (para usar en guiones del intérprete de "
+#~ "órdenes)"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "© 2001 Red Hat, Inc. y Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Escribió kreadconfig, en el que se basa este programa"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# translation of kwriteconfig.po to Estonian
+# Copyright (C) 2003 Free Software Foundation, Inc.
+#
+# Marek Laane <bald@starman.ee>, 2003,2007-2008, 2016, 2019, 2020.
+# Mihkel Tõnnov <mihhkel@gmail.com>, 2020, 2022.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2022-10-21 20:09+0200\n"
+"Last-Translator: Mihkel Tõnnov <mihhkel@gmail.com>\n"
+"Language-Team: Estonian <>\n"
+"Language: et\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 22.08.2\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Palun võta ühendust süsteemiadministraatoriga."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Seadistusfaili \"%1\" ei saa kirjutada.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Vaikimisi"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Tagasi"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Edasi"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Kodu"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Ava"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Ava viimati kasutatud"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Salvesta"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Salvesta kui"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Taasta"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Sulge"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Trüki"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Trükkimise eelvaatlus"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Saada e-postiga"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Välju"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Rakenduse teave"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Võta tagasi"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Kopeeri"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Aseta"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Puhasta"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Vali kõik"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Tühista valik"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Otsi"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Otsi järgmine"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Otsi eelmine"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Asenda"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom to Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Tegelik suurus"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Mahuta leheküljele"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Mahuta laiusele"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Mahuta kõrgusele"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Suurenda"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Vähenda"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Suurendus"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Vali kõik"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Üles"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Mine leheküljele"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Mine reale"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Mine leheküljele"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Mine reale"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Mahuta leheküljele"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Mine reale"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Mine leheküljele"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Tagasi"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Edasi"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Lisa järjehoidja"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Muuda järjehoidjaid"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Õigekirja kontroll"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Näita menüüriba"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Näita menüüriba"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Tööriistariba näitamine"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Tööriistariba näitamine"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Näita olekuriba"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Näita olekuriba"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Täisekraanirežiim"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "Vaheta keelt ..."
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Tööriistaribade seadistamine"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Märguannete seadistamine"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Mis see on"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Saada veateade"
+
+#: gui/kstandardactions_p.h:135
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Vaheta keelt ..."
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "KDE teave"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "KDE teave"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Kustuta"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Muuda nime"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Viska prügikasti"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Anneta"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Ava viimati kasutatud"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Ava"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Uus"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Sulge"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Salvesta"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Trüki"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Välju"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Võta tagasi"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Tee uuesti"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Lõika"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopeeri"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Aseta"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Aseta valik"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Vali kõik"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Tühista valik"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Kustuta eelmine sõna"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Kustuta järgmine sõna"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Otsi"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Otsi järgmine"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Otsi eelmine"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Asenda"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Kodu"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Algus"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Lõpp"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Eelmine"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Järgmine"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Üles"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Tagasi"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Edasi"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Laadi uuesti"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Rea algus"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Rea lõpp"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Mine reale"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Eelmine sõna"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Järgmine sõna"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Lisa järjehoidja"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Suurenda"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Vähenda"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Täisekraanirežiim"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Näita menüüriba"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktiveeri järgmine kaart"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktiveeri eelmine kaart"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Abi"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Mis see on"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Tekstilõpetus"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Eelmine lõpetamise kokkulangevus"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Järgmine lõpetamise kokkulangevus"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Alamstringide lõpetamine"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Eelmine element nimekirjas"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Järgmine element nimekirjas"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Ava viimati kasutatud"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Salvesta kui"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Taasta"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Trükkimise eelvaatlus"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Saada e-postiga"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Puhasta"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Tegelik suurus"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Mahuta leheküljele"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Mahuta laiusele"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Mahuta kõrgusele"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Suurendus"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Liikumine"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Mine leheküljele"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Eelmine dokument"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Järgmine dokument"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Muuda järjehoidjaid"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Õigekirja kontroll"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Tööriistariba näitamine"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Näita olekuriba"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Kiirklahvid"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Rakenduse seadistamine"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Tööriistaribade seadistamine"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Märguannete seadistamine"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Saada veateade"
+
+#: gui/kstandardshortcut.cpp:417
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Vaheta keelt ..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Rakenduse teave"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "KDE teave"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Kustuta"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Muuda nime"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Viska prügikasti"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Anneta"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Peidetud failide näitamine/peitmine"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Loo kataloog"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE kasutaja seadistusfailide uuendamise rakendus."
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Skripti väljundi tulemused säilitatakse"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Kontroll, kas seadistusfail ise vajab uuendamist"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Uuendamise instruktsioone sisaldav(ad) fail(id)"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Kataloog, kus failid genereeritakse [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "directory"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Tarkvaralitsentsi näitamine."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Globaalse seadistuse asemel kasutatakse faili <file>"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Otsitav grupp. Juurgrupi jaoks anna \"<default>\", pesastatud gruppide puhul "
+"anna mitu korda."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Otsitav võti"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Vaikeväärtus"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Muutuja tüüp"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Grupi nimi ei tohi tühi olla - kui soovid juurgruppi, anna \"<default>\""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Muutuja tüüp. Kui on tõeväärtus, anna \"bool\", muidu käsitletakse stringina"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Lubamise korral määratud võtme kustutamine"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Kirjutatav väärtus. See on kohustuslik. Shellis kasuta tühja asemel ''"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Päeva nõuanne"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Ainult ühiktestideks: testkataloogide kasutamine kasutaja tegelike "
+#~ "failide puutumisest hoidumiseks"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Salvesta valikud"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Rakenduse keele vahetamine"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Eelistused"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "KConfigi kirjete kirjutamine - kasutamiseks shelli skriptides"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001: Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Aluseks oleva kreadconfig'i kirjutaja"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# Translation for kconfig5_qt.po to Euskara/Basque (eu).
+# Copyright (C) 2017-2024 This file is copyright:
+# This file is distributed under the same license as the original file.
+# SPDX-FileCopyrightText: 2023, 2024 KDE euskaratzeko proiektuko arduraduna <xalba@ni.eus>
+#
+# Translators:
+# Osoitz <oelkoro@gmail.com>, 2017.
+# Ander Elortondo <ander.elor@gmail.com>, 2017.
+# Iñigo Salvador Azurmendi <xalba@ni.eus>, 2017, 2018, 2019, 2020, 2022, 2023, 2024.
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"PO-Revision-Date: 2024-07-15 23:38+0200\n"
+"Last-Translator: Iñigo Salvador Azurmendi <xalba@ni.eus>\n"
+"Language-Team: Basque <kde-i18n-eu@kde.org>\n"
+"Language: eu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Qt-Contexts: true\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 24.05.2\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Mesedez, Jarri zure sistemaren administratzailearekin harremanean."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "\"%1\" konfigurazio fitxategia ezin da idatzi.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Lehenetsia"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "At&zera"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Aurrera"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Hasiera"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Berria"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Sortu dokumentu berria"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Ireki..."
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Ireki dagoen dokumentu bat"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Ireki a&zken aldikoa"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Ireki berriki ireki den dokumentu bat"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Gorde"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Gorde dokumentua"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Gorde &honela..."
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Gorde dokumentua izen berri batekin"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "&Leheneratu"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Leheneratu dokumentuari egindako gorde gabeko aldaketak"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Itxi"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Itxi dokumentua"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "In&primatu..."
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Inprimatu dokumentua"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Inprimatze a&urreikuspegia..."
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Erakutsi dokumentuaren inprimaketa aurreikuspegi bat"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Posta..."
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Bidali dokumentua posta bidez"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Irten"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Irten aplikaziotik"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Desegin"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Desegin azken ekintza"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "&Berregin"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Berregin desegindako azken ekintza"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "E&baki"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Ebaki hautapena arbelera"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Kopiatu"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Kopiatu hautapena arbelean"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "I&tsatsi"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Itsatsi arbeleko edukia"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "&Garbitu"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Hautatu den&a"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "&Deshautatu"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Aurkitu..."
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Aurkitu &hurrengoa"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Aurkitu &aurrekoa"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "O&rdeztu..."
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Zoom &benetako neurrira"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Ikusi dokumentua bere egiazko neurrian"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Orrialdera e&gokitu"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Zoom egin orria leihora egokitzeko"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Orri-zabalerara e&gokitu"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Zoom egin orriaren zabalera leihora egokitzeko"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Orri-&luzeerara egokitu"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Zoom egin orriaren luzeera leihora egokitzeko"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Zooma &gerturatu"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Zooma &urrundu"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Zooma..."
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Hautatu zoom-maila"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "Be&rritu"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Berritu dokumentua"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Gora"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Joan gora"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Aurreko orrialdea"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Joan aurreko orrialdera"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Hurrengo orrialdea"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Joan hurrengo orrialdera"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Joan..."
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Joan ...orrialdera"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Joan ...lerrora"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Lehen orrialdea"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Joan lehenengo orrialdera"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "A&zken orrialdea"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Joan azken orrialdera"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "At&zera"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Joan dokumentuan atzerantz"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Aurrera"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Joan dokumentuan aurrerantz"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Gehitu laster-marka"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Editatu laster-markak..."
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Ortografia..."
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Dokumentuan ortografia aztertu"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Erakutsi &menu-barra"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Erakutsi edo ezkutatu menu-barra"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Erakutsi &tresna-barra"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Erakutsi edo ezkutatu tresna-barra"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Erakutsi egoer&a-barra"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Erakutsi edo ezkutatu egoera-barra"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Pantaila &osoko modua"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Konfiguratu teklatuko &lasterbideak..."
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Konfiguratu %1..."
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Konfiguratu tresna-&barrak..."
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Konfiguratu &jakinarazpenak..."
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 &eskuliburua"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Zer da &hau?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Akats baten &berri eman…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Konfiguratu &hizkuntza..."
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "%1(e)ri &buruz"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "&KDEri buruz"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "E&zabatu"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Be&rrizendatu..."
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Bota zakarrontzira"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Egin &dohaintza"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Ireki &menua"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Ireki"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Berria"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Itxi"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Gorde"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Inprimatu"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Irten"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Desegin"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Berregin"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Ebaki"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopiatu"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Itsatsi"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Itsatsi hautapena"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Hautatu guztiak"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Desautatu"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Ezabatu hitz atzerantza"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Ezabatu hitz aurrerantz"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Bilatu"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Bilatu hurrengoa"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Bilatu aurrekoa"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Ordeztu"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Hasiera"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Hasi"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Amaitu"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Aurrekoa"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Hurrengoa"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Gora"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Atzera"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Aurrera"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Birkargatu"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Lerroaren hasiera"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Lerroaren amaiera"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Joan lerrora"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Hitza atzerantz"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Hitza aurrerantz"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Gehitu laster-marka"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Zooma handiagotu"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Zooma txikiagotu"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Pantaila osoko modua"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Erakutsi menu-barra"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktibatu hurrengo fitxa"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktibatu aurreko fitxa"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Laguntza"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Zer da hau"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Testu-osaketa"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Aurreko osatze bat-etortzea"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Hurrengo osatze bat-etortzea"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Azpi-kateen osaketa"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Zerrendako aurreko elementua"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Zerrendako hurrengo elementua"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Ireki oraintsukoa"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Gorde honela"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Leheneratu"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Inprimatze-aurrebista"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Posta"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Garbitu"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Zoom benetako neurrira"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Doitu orriari"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Doitu zabalerara"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Doitu garaierara"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Zooma"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Joan hona"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Joan orrira"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dokumentua atzera"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dokumentua aurrera"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Editatu gogokoak"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Ortografia"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Erakutsi tresna-barra"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Erakutsi egoera-barra"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Tekla-konbinazioak"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Konfiguratu aplikazioa"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Konfiguratu tresna-barrak"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Konfiguratu jakinarazpenak"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Eman errorearen berri"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Konfiguratu hizkuntza..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Aplikazioari buruz"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "KDEri buruz"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Ezabatu"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Berrizendatu"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Bota zakarrontzira"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Egin dohaintza"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Erakutsi/ezkutatu ezkutuko fitxategiak"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Sortu karpeta"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Ireki menu nagusia"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Ireki testuinguru-menua"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Konfigurazio fitxategiak eguneratzeko KDE tresna"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Mantendu scriptaren irteera emaitzak"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Proba unitarioetarako bakarrik: ez idatzi egindako sarrerak, exekuzio berri "
+"bakoitzarekin gidoiak berriz exekutatu daitezen."
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+"Egiaztatu ea konfigurazio fitxategiak bere burua eguneratzea eskatzen duen. "
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Eguneratzeko jarraibideak irakurtzeko fitxategia(k)"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Fitxategiak sortzeko direktorioa [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "direktorioa"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Bistaratu software-lizentzia"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Erabili <file>, konfigurazio globalaren ordez"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Begiratu beharreko taldea. root talderako \"<lenenetsia>\" erabili, edo "
+"habiaratutako taldeetarako behin eta berriz erabili."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Bilatu beharreko gakoa"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Balio lehenetsia"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Aldagai mota"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Talde-izena ezin da hutsik egon, erabili \"<lehenetsia>\" root talderako"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Aldagai mota. Erabili \"bool\" aldagai boolearrentzat; bestela, kate gisa "
+"tratatuko da"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Ezabatu izendatutako gakoa aktibo egonez gero"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Idatzi beharreko balioa. Derrigorrezkoa da. Shell-etan, erabili '' hutsik "
+"uzteko"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Eguneko aholkua"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Unitate probatarako bakarrik: erabili proba karpetak salbu mantentzeko "
+#~ "erabiltzailearen fitxategi errealak."
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Gorde aukerak"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Aldatu aplikazioaren hizkuntza"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Hobespenak"
--- /dev/null
+# translation of kwriteconfig.po to Persian
+# Nazanin Kazemi <kazemi@itland.ir>, 2006.
+# MaryamSadat Razavi <razavi@itland.ir>, 2006.
+# Nasim Daniarzadeh <daniarzadeh@itland.ir>, 2006.
+# Mohamad Reza Mirdamadi <mohi@linuxshop.ir>, 2011.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2011-09-25 19:57+0330\n"
+"Last-Translator: Mohamad Reza Mirdamadi <mohi@linuxshop.ir>\n"
+"Language-Team: Farsi (Persian) <>\n"
+"Language: fa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.2\n"
+"Plural-Forms: nplurals=2; plural=(n==0 || n==1);\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "گروه برای جستجو"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "گروه برای جستجو"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "گروه برای جستجو"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "گروه برای جستجو"
+
+#: gui/kstandardshortcut.cpp:213
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "گروه برای جستجو"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "استفاده از <file> به جای پیکربندی سراسری"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Group to look in. Use repeatedly for nested groups."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "کلید برای جستجو"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"نوع متغیر. از «bool» برای مقدار بولی استفاده کنید. در غیر این صورت، به عنوان "
+"یک رشته تلقی میشود"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "مقدار برای نوشتن. الزامی است که در پوسته، برای خالی از » استفاده کنید"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "نوشتن مدخلهای KConfig - برای استفاده در دستنوشتههای پوسته"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(ح) ۲۰۰۱ شرکت Red Hat و Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "kreadconfig را نوشت که این بر اساس آن است"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "نازنین کاظمی"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "kazemi@itland.ir"
--- /dev/null
+# SPDX-FileCopyrightText: 2018, 2020, 2022, 2023, 2024 Tommi Nieminen <translator@legisign.org>
+# Lasse Liehu <lasse.liehu@gmail.com>, 2014, 2015, 2016, 2017.
+# SPDX-FileCopyrightText: 2024 Lasse Liehu-Inui <lasse.liehu@iki.fi>
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-12-29 22:42+0200\n"
+"Last-Translator: Lasse Liehu-Inui <lasse.liehu@iki.fi>\n"
+"Language-Team: Finnish <kde-i18n-doc@kde.org>\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 24.12.0\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Ota yhteyttä järjestelmän ylläpitäjääsi."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Asetustiedostoon ”%1” ei voi kirjoittaa.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Oletus"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Takaisin"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Eteenpäin"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Koti"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Uusi"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Luo uusi tiedosto"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Avaa…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Avaa olemassa oleva tiedosto"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Avaa &viimeaikainen"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Avaa äskettäin avattu tiedosto"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Tallenna"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Tallenna tiedosto"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Tallenna &nimellä…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Tallenna tiedosto uudelle nimelle"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "&Palauta"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Peru tiedoston tallentamattomat muutokset"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Sulje"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Sulje tiedosto"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Tu&losta…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Tulosta tiedosto"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Tulostus&esikatselu"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Näytä tiedoston tulostusesikatselu"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "S&ähköpostita…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Lähetä tiedosto sähköpostitse"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "L&opeta"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Lopeta sovellus"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "K&umoa"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Kumoa viimeisin toiminto"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Tee uu&delleen"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Tee viimeisin kumottu toiminto uudelleen"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&Leikkaa"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Leikkaa valinta leikepöydälle"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Kopioi"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Kopioi valinta leikepöydälle"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "L&iitä"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Liitä leikepöydän sisältö"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "T&yhjennä"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "V&alitse kaikki"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "&Poista valinta"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Etsi…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Etsi &seuraava"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Etsi e&dellinen"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Ko&rvaa…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Lähennä &todelliseen kokoon"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Näytä tiedosto todellisessa koossaan"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Sovita sivulle"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Sovita sivu ikkunan kokoon"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Sovita sivun &leveyteen"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Sovita sivun leveys ikkunan kokoon"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Sovita sivun &korkeuteen"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Sovita sivun korkeus ikkunan kokoon"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "L&ähennä"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "L&oitonna"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "L&ähennä…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Valitse lähennystaso"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Virkistä"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Virkistä tiedosto"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Ylemmäs"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Siirry ylös"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "E&dellinen sivu"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Siirry edelliselle sivulle"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "S&euraavalle sivulle"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Siirry seuraavalle sivulle"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Siirry…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "S&iirry sivulle…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Siirry ri&ville…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Ensimmäiselle sivulle"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Siirry ensimmäiselle sivulle"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Viimeiselle sivulle"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Siirry viimeiselle sivulle"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Takaisin"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Siirry tiedostossa taaksepäin"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Eteenpäin"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Siirry tiedostossa eteenpäin"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "L&isää kirjanmerkki"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Muokkaa kirjanmerkkejä…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Oikeinkirjoitus…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Tarkista tiedoston oikeinkirjoitus"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Näytä &valikkorivi"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Näytä tai piilota valikkorivi"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Näytä t&yökalurivi"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Näytä tai piilota työkalurivi"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Näytä t&ilarivi"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Näytä tai piilota tilarivi"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "K&oko näytön tila"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "&Pikanäppäinasetukset…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Asetukset – %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "T&yökalurivien asetukset…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "&Ilmoitusasetukset…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1-käyttö&ohje"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "&Mikä tämä on?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Ilmoita viasta…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "&Kieliasetukset…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Tietoa: %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Tietoa KDE:stä"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Poista"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Muuta nimeä…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Siirrä &roskakoriin"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Lah&joita"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "A&vaa valikko"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Avaa"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Uusi"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Sulje"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Tallenna"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Tulosta"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Lopeta"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Kumoa"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Tee uudelleen"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Leikkaa"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopioi"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Liitä"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Liitä valinta"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Valitse kaikki"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Poista valinta"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Poista edellinen sana"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Poista seuraava sana"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Etsi"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Etsi seuraava"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Etsi edellinen"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Korvaa"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Koti"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Alku"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Loppu"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Edellinen"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Seuraava"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Ylös"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Takaisin"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Eteenpäin"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Lataa uudelleen"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Rivin alku"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Rivin loppu"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Siirry riville"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Edellinen sana"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Seuraava sana"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Lisää kirjanmerkki"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Lähennä"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Loitonna"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Koko näytön tila"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Näytä valikkorivi"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktivoi seuraava välilehti"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktivoi edellinen välilehti"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Ohje"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Mikä tämä on"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Tekstin täydennys"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Edellinen täydennysosuma"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Seuraava täydennysosuma"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Osamerkkijonon täydennys"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Edellinen kohta luettelossa"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Seuraava kohta luettelossa"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Avaa viimeaikainen"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Tallenna nimellä"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Palauta"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Tulostuksen esikatselu"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Sähköpostita"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Tyhjennä"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Lähennä todelliseen kokoon"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Sovita sivulle"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Sovita leveyteen"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Sovita korkeuteen"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Lähennä"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Siirry"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Siirry sivulle"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Tiedosto taaksepäin"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Tiedosto eteenpäin"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Muokkaa kirjanmerkkejä"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Oikeinkirjoitus"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Näytä työkalurivi"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Näytä tilarivi"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Näppäinyhdistelmät"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Sovelluksen asetukset"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Muokkaa työkalurivejä"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Muokkaa ilmoituksia"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Ilmoita viasta"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "&Kieliasetukset…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Tietoa ohjelmasta"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Tietoa KDE:stä"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Poista"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Muuta nimeä"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Siirrä roskakoriin"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Lahjoita"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Näytä tai piilota piilotiedostot"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Luo kansio"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Avaa päävalikko"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Avaa kontekstivalikko"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE-työkalu käyttäjän asetustiedostojen päivittämiseen"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Säilytä skriptien tulosteet"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Vain yksikkötesteille: älä kirjoita valmiita tietueita, jotta skriptit "
+"suoritetaan joka ajossa uudelleen"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Tarkista, tarvitseeko itse asetustiedosto päivitystä"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Tiedostot, joista päivitysohjeet luetaan"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "hakemisto, johon tiedostot luodaan [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "hakemisto"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Näytä ohjelmiston lisenssi."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Käytä <tiedostoa> järjestelmänlaajuisten asetusten sijasta"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Ryhmä, josta etsitään. Juuriryhmälle ”<default>” tai käytä sisäkkäisiä "
+"ryhmiä toistuvasti."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Etsittävä arvo"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Oletusarvo"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Muuttujan tyyppi"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "Ryhmän nimi ei voi olla tyhjä; käytä juuriryhmälle ”<default>”"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Muuttujan tyyppi. ”bool” Boolen arvoille. Muutoin tämä tulkitaan "
+"merkkijonoksi"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Poista kytketty näppäin, jos käytössä"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Kirjoitettava arvo. Pakollinen. Komentotulkissa tyhjä arvo kirjoitetaan ''"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Päivän vinkki"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Vain yksikkötestejä varten: käytä testikansioita käyttäjän oikeiden "
+#~ "tiedostojen sijaan"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Tallenna asetukset"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Vaihda kieltä"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Asetukset"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Kirjoita KConfig-tietueet - käytettäväksi komentotulkkiskripteissä"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "© 2001 Red Hat, Inc. ja Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Kirjoitti kreadconfig-ohjelman, johon tämä pohjautuu"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# translation of kwriteconfig.po to Français
+# translation of kwriteconfig.po to
+# traduction de kwriteconfig.po en Français
+# Copyright (C) 2003, 2007, 2008 Free Software Foundation, Inc.
+# Charles de Miramon <cmiramon@kde-france.org>, 2003.
+# Delafond <gerard@delafond.org>, 2003.
+# J. Cornavin <jcornavi@club-internet.fr>, 2007.
+# Sébastien Renard <Sebastien.Renard@digitalfox.org>, 2008.
+# Joëlle Cornavin <jcornavi@club-internet.fr>, 2008.
+# SPDX-FileCopyrightText: 2013, 2024 Xavier Besnard <xavier.besnard@kde.org>
+# Maxime Corteel <mcorteel@gmail.com>, 2014, 2015.
+# Vincent Pinon <vpinon@kde.org>, 2016, 2017.
+# Simon Depiets <sdepiets@gmail.com>, 2018, 2020.
+# SPDX-FileCopyrightText: 2020, 2021, 2022, 2023 Xavier Besnard <xavier.besnard@kde.org>
+# Xavier Besnard <xavier.besnard@kde.org>, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-23 11:22+0200\n"
+"Last-Translator: Xavier Besnard <xavier.besnard@kde.org>\n"
+"Language-Team: French <French <kde-francophone@kde.org>>\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Accelerator-Marker: &\n"
+"X-Environment: kde\n"
+"X-Generator: Lokalize 23.08.5\n"
+"X-Qt-Contexts: true\n"
+"X-Text-Markup: qtrich\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Veuillez contacter l'administrateur du système."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Impossible d'écrire dans le fichier de configuration « %1 ».\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Par défaut"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Re&venir en arrière"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Suivant"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "A&ccueil"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Nouveau"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Créer un nouveau document"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Ouvrir..."
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Ouvrir un document existant"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Ouvrir un fichier &récent"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Ouvrir un document récemment ouvert"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Enregi&strer"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Enregistrer le document"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "&Enregistrer sous"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Enregistrer le document sous un nouveau nom"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Annu&ler"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Annuler les modifications non enregistrées apportées au document"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Fermer"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Fermer un document"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Im&primer"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Imprimer un document"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Aperçu ava&nt impression"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Afficher un aperçu avant impression du document"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Envoyer par &courriel…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Envoie un document par courriel"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Quitter"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Quitter l'application"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Ann&uler"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Annuler la dernière action"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Re&faire"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Refaire la dernière action annulée"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Cou&per"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Couper la sélection vers le presse-papier"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Copier"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Copier la sélection dans le presse-papier"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Co&ller"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Coller le contenu du presse-papier"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "E&ffacer"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "T&out sélectionner"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Dé-sé&lectionner"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Trouver..."
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Trouver l'occurre&nce suivante"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Trou&ver l'occurrence précédente"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Remplacer..."
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Zoomer jusqu'à la taille &actuelle"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Afficher le document dans sa taille courante"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "A&juster à la taille de la page"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Zoomer pour ajuster la page à la fenêtre"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Ajuster à la lar&geur de la page"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Zoomer pour adapter la largeur de page à la fenêtre"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Ajuster à la &hauteur de la page"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Zoomer pour adapter la hauteur de page à la fenêtre"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Agrand&ir"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Z&oomer en arrière"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Zoomer…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Sélectionner le niveau de zoom"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Rafraîchir"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Rafraîchir le document"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Ha&ut"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Monter"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Page précédente"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Se déplacer à la page précédente"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Page suiva&nte"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Se déplacer à la page suivante"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "Se dé&placer vers..."
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Se déplacer vers une pa&ge..."
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Se déplacer vers une li&gne..."
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Première page"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Se déplacer à la première page"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Dernière page"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Se déplacer à la dernière page"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Re&venir en arrière"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Se déplacer en arrière dans le document"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Sui&vant"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Se déplacer en avant dans le document"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Ajouter un signet"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Édit&er les signets..."
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Vérification orthographique…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Vérifier l'orthographe dans le document"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Afficher la barre de &menus"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Afficher ou masquer la barre de menus"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Afficher la barre d'ou&tils"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Afficher ou masquer la barre d'outils"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Afficher la b&arre d'état"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Afficher ou masquer la barre d'état"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "M&ode plein écran"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Confi&gurer les raccourcis de clavier…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "Configurer %1..."
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Configurer les &barres d'outils"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Configurer les ¬ifications..."
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&Manuel utilisateur de %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Qu'est-ce que c'es&t ?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Signale&r un bogue..."
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Configurer &la langue..."
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&À propos de %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "À propos de &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Supprimer"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Renommer..."
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Dé&placer dans la corbeille"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Effectuer un &don"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Ouvrir le &menu"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Ouvrir"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nouveau"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Fermer"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Enregistrer"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Imprimer"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Quitter"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Annuler"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Refaire"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Couper"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Copier"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Coller"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Coller la sélection"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Tout sélectionner"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Désélectionner"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Supprimer un mot vers l'arrière"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Supprimer un mot vers l'avant"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Trouver"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Trouver l'occurrence suivante"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Trouver l'occurrence précédente"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Remplacer"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Accueil"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Début"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Fin"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Précédent"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Suivant"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Haut"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Revenir en arrière"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Suivant"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Recharger"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Début de la ligne"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Fin de la ligne"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Aller à la ligne"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Passer un mot vers l'arrière"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Passer un mot vers l'avant"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Ajouter un signet"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Agrandir"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Rétrécir"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Mode plein écran"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Afficher la barre de menu"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Activer l'onglet suivant"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Activer l'onglet précédent"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Aide"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Qu'est-ce que c'est ?"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Complètement du texte"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Proposition de complètement précédente"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Proposition de complètement suivante"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Complètement partiel"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Élément précédent de la liste"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Élément suivant de la liste"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Ouvrir un fichier récent"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Enregistrer sous"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Revenir"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Aperçu avant impression"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Courriel"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Effacer"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Zoomer jusqu'à la taille actuelle"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Ajuster à la taille de la page"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Ajuster à la largeur de la page"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Ajuster à la hauteur de la page"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Agrandir"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Aller à"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Aller à la page"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Reculer dans le document"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Avancer dans le document"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Éditer les signets"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Orthographe"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Afficher la barre d'outil"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Afficher la barre d'état"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Raccourcis clavier"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Configurer l'application"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Configurer les barres d'outil"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Configurer les notifications"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Rapport de bogue"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Configurer votre langue..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "À propos de l'application"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "À propos de KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Supprimer"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Renommer"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Déplacer dans la corbeille"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Faire un don pour le projet"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Afficher / Masquer les fichiers cachés"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Créer un dossier"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Ouvrir le menu principal"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Ouvrir le menu contextuel"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Outil de KDE pour l'édition des fichiers de configuration"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Conserver le résultat de la sortie des scripts"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Pour les tests unitaires uniquement : ne pas écrire les entrées terminées, "
+"de sorte qu'à chaque nouvelle exécution, les scripts sont lancés à nouveau."
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+"Vérifier si le fichier de configuration nécessite lui-même une mise à jour"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Fichier(s) à partir desquels lire les instructions de mise à jour"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Dossier de génération des fichiers [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "dossier"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Afficher la licence du logiciel."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Utiliser <fichier> au lieu de la configuration globale"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Groupe à examiner. Veuillez utiliser « <default> » pour le groupe "
+"d'administrateur ou utiliser de façon répétitive pour les groupes imbriqués."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Clé à chercher"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Valeur par défaut"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Type de variable"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Le nom de groupe ne peut être vide. Veuillez utiliser « <default> » pour le "
+"groupe d'administrateur"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Type de la variable. Utiliser « bool » pour une variable booléenne, sinon "
+"elle sera considérée comme une chaîne"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Supprimer la clé désignée si activé"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"La valeur à écrire. Elle est obligatoire. Dans le shell, utilisez un "
+"guillemet double, pour représenter une valeur vide"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Astuce du jour"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Pour les tests unitaires seulement : utiliser des dossiers de test pour "
+#~ "éviter les vrais fichiers utilisateur"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Enregistrer les options"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Changer la langue de l'application"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Préférences"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr ""
+#~ "Écrire des éléments pour KConfig - à utiliser dans des scripts shell"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Écriture du « kreadconfig » pour cette application"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# translation of kwriteconfig.po to Frysk
+#
+# Rinse de Vries <rinsedevries@kde.nl>, 2005, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2009-12-13 00:11+0100\n"
+"Last-Translator: Berend Ytsma <berendy@gmail.com>\n"
+"Language-Team: Frysk <kde-i18n-fry@kde.org>\n"
+"Language: fy\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "<triem> brûke yn plak fan globale konfiguraasje"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Groep om yn te sjen. Brûk dit stees opnij foar ynsletten groepen."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Term om nei te sykjen"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Fariabeletype. Brûk \"bool\" foar in boleaanske wearde, oars wurd dit "
+"behannele as in tekenrige."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "De wearde om te skriuwen. Brûk op in shell altyd '' foar leech."
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Skriuw KConfig-yngongen - foar brûk fan yn shell-scripts."
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Hat kreadconfig skreaun wêrop dit bassearre is"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# Irish translation of kwriteconfig
+# Copyright (C) 2009 This_file_is_part_of_KDE
+# This file is distributed under the same license as the kwriteconfig package.
+# Kevin Scannell <kscanne@gmail.com>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: kdebase/kwriteconfig.po\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2004-12-03 14:52-0500\n"
+"Last-Translator: Kevin Scannell <kscanne@gmail.com>\n"
+"Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n"
+"Language: ga\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n < 11 ? "
+"3 : 4\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Grúpa le féachaint ann"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Grúpa le féachaint ann"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Grúpa le féachaint ann"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Grúpa le féachaint ann"
+
+#: gui/kstandardshortcut.cpp:213
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Grúpa le féachaint ann"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Úsáid <comhad> in ionad na cumraíochta comhchoitinne"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Grúpa le cuardach. Úsáid arís agus arís eile le haghaidh grúpaí neadaithe."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Eochair le lorg"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Cineál na hathróige. Úsáid \"bool\" le haghaidh athróige Boole, i ngach cás "
+"eile is teaghrán é"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Luach le scríobh. Riachtanach, i mblaosc úsáid '' do theaghrán folamh"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Scríobh iontrálacha KConfig - le haghaidh scripteanna blaoisce"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "© 2001 Red Hat, Inc. agus Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Údar kreadconfig, ar ar bunaíodh an clár seo"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Séamus Ó Ciardhuáin,Kevin Scannell"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "seoc@iolfree.ie,kscanne@gmail.com"
--- /dev/null
+# GunChleoc <fios@foramnagaidhlig.net>, 2014, 2015.
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: 2015-11-04 15:11+0000\n"
+"Last-Translator: Michael Bauer <fios@akerbeltz.org>\n"
+"Language-Team: Fòram na Gàidhlig\n"
+"Language: gd\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : "
+"(n > 2 && n < 20) ? 2 : 3;\n"
+"X-Generator: Poedit 1.8.4\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Cuir fios gu rianaire an t-siostaim agad."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Cha ghabh sgrìobhadh san fhaidhle rèiteachaidh \"%1\".\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Tùsail"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Air ais"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Air adhart"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Dhachaigh"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Fosgail"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Fosgail nì o chionn goirid"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Sàbhail"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Sàbhail mar"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Till"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Dùin"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Clò-bhuail"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Ro-shealladh a' chlò-bhualaidh"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Cuir air a' phost-d"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Fàg an-seo"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Mun aplacaid seo"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Neo-dhèan"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Dèan lethbhreac"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Cuir ann"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Falamhaich"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Tagh na h-uile"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Neo-thagh"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Lorg"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Lorg an ath fhear"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Lorg am fear roimhe"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Cuir 'na àite"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "An dearbh mheud"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Co-fhreagair ris an duilleag"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Co-fhreagair ris an leud"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Co-fhreagair ris an àirde"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Sùm a-steach"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Sùm a-mach"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Sùm"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Tagh na h-uile"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Suas"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Rach gu duilleag"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Rach gu loidhne"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Rach gu duilleag"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Rach gu loidhne"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Co-fhreagair ris an duilleag"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Rach gu loidhne"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Rach gu duilleag"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Air ais"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Air adhart"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Cuir comharra-leabhair ris"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Deasaich na comharran-leabhair"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Dearbhadh an litreachaidh"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Seall bàr clàr-taice"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Seall bàr clàr-taice"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Seall am bàr-inneal"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Seall am bàr-inneal"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Seall am bàr-staid"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Seall am bàr-staid"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Modh làn-sgrìn"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Rèitich na bàraichean-inneal"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Rèitich na brathan"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Dè th' ann?"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Dèan aithris air buga"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Mu KDE"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Mu KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Fosgail nì o chionn goirid"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Fosgail"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Ùr"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Dùin"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Sàbhail"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Clò-bhuail"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Fàg an-seo"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Neo-dhèan"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Ath-dhèan"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Gearr às"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Dèan lethbhreac"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Cuir ann"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Cuir ann na thagh thu"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Tagh na h-uile"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Neo-thagh"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Sguab às facal roimhe"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Sguab às facal às a dhèidh"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Lorg"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Lorg an ath fhear"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Lorg am fear roimhe"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Cuir 'na àite"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Dhachaigh"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "An toiseach"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "An deireadh"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "An nì roimhe"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "An ath nì"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Suas"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Air ais"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Air adhart"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Ath-luchdaich"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Toiseach na loidhne"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Deireadh na loidhne"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Rach gu loidhne"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Facal air ais"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Facal air adhart"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Cuir comharra-leabhair ris"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Sùm a-steach"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Sùm a-mach"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Modh làn-sgrìn"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Seall bàr clàr-taice"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Gnìomhaich an ath thaba"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Gnìomhaich an taba roimhe"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Cobhair"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Dè th' ann?"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Coileanadh teacsa"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Am maidse roimhe"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "An ath mhaidse"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Coileanadh fo-shreinge"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "An nì roimhe air an liosta"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "An ath nì air an liosta"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Fosgail nì o chionn goirid"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Sàbhail mar"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Till"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Ro-shealladh a' chlò-bhualaidh"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Cuir air a' phost-d"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Falamhaich"
+
+#: gui/kstandardshortcut.cpp:343
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "An dearbh mheud"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Co-fhreagair ris an duilleag"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Co-fhreagair ris an leud"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Co-fhreagair ris an àirde"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Sùm"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Rach gu"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Rach gu duilleag"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "An sgrìobhainn roimhpe"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "An ath sgrìobhainn"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Deasaich na comharran-leabhair"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Dearbhadh an litreachaidh"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Seall am bàr-inneal"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Seall am bàr-staid"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Nasgadh nan iuchraichean"
+
+#: gui/kstandardshortcut.cpp:392
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Rèitich na brathan"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Rèitich na bàraichean-inneal"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Rèitich na brathan"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Dèan aithris air buga"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Mun aplacaid seo"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Mu KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Inneal KDE gus faidhlichean rèiteachaidh a' chleachdaiche ùrachadh"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Cum toraidhean às-chuir o sgriobtaichean"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Thoir sùil a bheil am faidhle rèiteachaidh fhèin feumach air ùrachadh"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Faidhle/Faidhlichean gus stiùireadh an ùrachaidh a leughadh uapa"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Am pasgan sa thèid na faidhlichean a ghintinn ann [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "pasgan"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Seall ceadachas a' bhathair-bhog"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Cleachd <file> an àite an rèiteachaidh uile-choitchinn"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgctxt "main|"
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Am buidheann sa thèid a lorg. Cleachd iomadh turas airson bhuidhnean "
+"neadaichte."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "An iuchair a thèid a shireadh"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "An luach tùsail"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Seòrsa a' chaochladair"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Seòrsa a' chaochladair. Cleachd \"bool\" airson booleach air neo thèid "
+"dèiligeadh ris mar shreang."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"An luach a thèid a sgrìobhadh. Tha seo riatanach, cleachd '' air shell "
+"airson luach falamh."
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Gliocas an latha"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Airson unit tests a-mhàin: cleachd pasganan deuchainne gus cumail air "
+#~ "falbh o dhearbh-fhaidhlichean a' chleachdaiche"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Sàbhail na roghainnean"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Atharraich cànan na h-aplacaid"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Roghainnean"
--- /dev/null
+# translation of kwriteconfig.po to galician
+# Copyright (C) 2004, 2007, 2008, 2009 Free Software Foundation, Inc.
+# Littleagle Thoronaug <thoronaug@yahoo.es>, 2004.
+# mvillarino <mvillarino@users.sourceforge.net>, 2007, 2008, 2009.
+# marce villarino <mvillarino@users.sourceforge.net>, 2009.
+# Marce Villarino <mvillarino@gmail.com>, 2009, 2014.
+# Adrián Chaves Fernández <adriyetichaves@gmail.com>, 2015, 2017.
+# SPDX-FileCopyrightText: 2023, 2024 Adrián Chaves (Gallaecio)
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-25 09:57+0200\n"
+"Last-Translator: Adrián Chaves (Gallaecio) <adrian@chaves.io>\n"
+"Language-Team: Proxecto Trasno (proxecto@trasno.gal)\n"
+"Language: gl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Lokalize 24.02.2\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Contacte co equipo administrador do sistema."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "O ficheiro de configuración «%1» non permite escritura.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Predeterminado"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Atrás"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "A&diante"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Inicio"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Novo"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Crear un novo documento"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Abrir…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Abrir un documento existente"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Abrir un &recente"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Abrir un documento aberto recentemente"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Gardar"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Gardar o documento"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Gardar &como…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Garda o documento con outro nome"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Re&verter"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Anula os cambios non gardados que fixese no documento"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Pechar"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Pechar o documento"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Imprimir…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Imprimir o documento"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Vista de impresión"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Mostra unha vista previa do documento"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Correo…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Enviar o documento por correo electrónico"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Saír"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Saír da aplicación"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Desfacer"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Desfacer a última acción"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Re&facer"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Refacer a última acción desfeita"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Cor&tar"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Corta a selección e pona no portapapeis"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Copiar"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Copiar a selección no portapapeis"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Pegar"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Pegar o contido do portapapeis"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "&Baleirar"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Seleccion&alo todo"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Anular a se&lección"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Atopar…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Atopar a &seguinte"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Atopar a &anterior"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Substituír…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "&Ampliar ao tamaño real"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Ver o documento co tamaño real"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Axustar á páxina"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Axustar o tamaño da páxina ao da xanela"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Axustar á a&nchura da páxina"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Axustar a anchura da páxina á da xanela"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Axustar á &altura da páxina"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Axustar a altura da páxina á da xanela"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Ampl&iar"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Re&ducir"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Ampliación…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Seleccionar o nivel de ampliación"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Actualizar"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Actualizar o documento"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Subir"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Subir"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "Páxina &anterior"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Ir á páxina anterior"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Segui&nte páxina"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Ir á seguinte páxina"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Ir a…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Ir á páxina…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Ir á liña…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Primeira páxina"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Ir á primeira páxina"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Última pá&xina"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Ir á última páxina"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Atrás"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Retroceder no documento"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "A&vanzar"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Avanzar no documento"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Eng&adir un marcador"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Editar os marcadores…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Ortografía…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Comprobar a ortografía do documento"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Amosar a barra de &menú"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Amosar ou agochar a barra de menú"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Amosar a barra de &ferramentas"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Amosar ou agochar a barra de ferramentas"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Amosar a barra de &estado"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Amosar ou agochar a barra de estado"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Modo a pantalla &completa"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Confi&gurar os atallos de teclado…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Configurar %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Configurar as &barras de ferramentas…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Configurar as ¬ificacións…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&Manual de %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Que é &isto?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Informar dun &fallo…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Configurar o &idioma…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Sobre %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Sobre &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Eliminar"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Renomear…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Botar no lixo"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Doar"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Abre o &menú"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Abrir"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Novo"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Pechar"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Gardar"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Imprimir"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Saír"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Desfacer"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Refacer"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Cortar"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Copiar"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Pegar"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Pegar a selección"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Seleccionar todo"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Anular a selección"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Eliminar unha palabra cara atrás"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Eliminar unha palabra cara diante"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Atopar"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Atopar a seguinte"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Atopar a anterior"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Substituír"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Inicio"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Comezo"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Final"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Anterior"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Seguinte"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Subir"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Atrás"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Avanzar"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Recargar"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Inicio da liña"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Fin da liña"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Ir á liña"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Palabra anterior"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Seguinte palabra"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Engadir un marcador"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Ampliar"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Reducir"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Modo a pantalla completa"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Amosar a barra de menú"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Activar a seguinte lapela"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Activar a lapela anterior"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Axuda"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Que é isto"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Completación de textos"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Anterior coincidencia de completación"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Seguinte coincidencia de completación"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Completación de subcadeas"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Anterior elemento da lista"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Seguinte elemento da lista"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Abrir un recente"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Gardar como"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Reverter"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Vista de impresión"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Correo"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Limpar"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Ampliar ao tamaño real"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Axustar á páxina"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Axustar á anchura da páxina"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Axustar ao alto da páxina"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Ampliación"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Ir a"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Ir á páxina"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Retroceder no documento"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Avanzar no documento"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Editar os marcadores"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Ortografía"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Amosar a barra de ferramentas"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Amosar a barra de estado"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Asociacións de teclas"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Configurar a aplicación"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Configurar as barras de ferramentas"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Configurar as notificacións"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Informar dun fallo"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Configurar o idioma…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Sobre a aplicación"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Sobre KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Eliminar"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Renomear"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Botar no lixo"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Doar"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Amosar ou agochar os ficheiros agochados"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Crear un cartafol"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Abrir o menú principal"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Abrir o menú contextual"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+"Ferramenta de KDE para actualizar os ficheiros de configuración da persoa "
+"usuaria."
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Conservar a saída dos guións"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Só para probas unitarias: non escribir as entradas feitas, para que os "
+"guións se executen de novo cada vez"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Comprobar se o ficheiro de configuración precisa actualizarse"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Ficheiros dos que ler as instrucións de actualización."
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "O cartafol no que xerar os ficheiros [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "cartafol"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Amosa a licenza do soporte lóxico."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Usar <file> en troques da configuración global"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"O grupo no que buscar. Use «<predeterminado>» para o grupo raíz, ou úseo "
+"repetidamente para grupos aniñados."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "A chave que se ha buscar"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Valor predeterminado"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Tipo de variábel"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"O nome de grupo non pode estar baleiro, use «<predeterminado>» para o grupo "
+"raíz"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Tipo da variábel. Use «bool» para un booleano, se non, é tratado como unha "
+"cadea"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Eliminar a tecla designada se escolle esta opción."
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"O valor para escribir. Obrigatorio, use '' nun intérprete de ordes para "
+"deixalo baleiro."
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Consello do día"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Só para probas unitarias: usar directorios de proba para evitar os "
+#~ "ficheiros reais do usuario."
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Opcións de garda"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Cambiar o idioma da aplicación"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Preferencias"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Escribe entradas KConfig, para uso en scripts da shell"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Escribiu kreadconfig no que nos baseamos para este programa"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# translation of kwriteconfig.po to Gujarati
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Sweta Kothari <swkothar@redhat.com>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2008-07-16 14:06+0530\n"
+"Last-Translator: Kartik Mistry <kartik.mistry@gmail.com>\n"
+"Language-Team: Gujarati\n"
+"Language: gu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "વૈશ્વીક રૂપરેખાંકનને બદલ <file> વાપરો"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "શોધવા માટેનો સમૂહ. વણાયેલ સમૂહો માટે વારંવાર વાપરો."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "શોધવા માટેની કળ"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr "ચલનો પ્રકાર. બુલિયન માટે \"bool\" વાપરો, અથવા તે સ્ટ્રિંગ તરીકે જોવામાં આવશે"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "લખવાની કિંમત. ખાલી માટે \" શૅલ વપરાશ પર, જરૂરી"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "KConfig દાખલાઓ લખો - શૅલ સ્ક્રિપ્ટ્સમાં ઉપયોગ માટે"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) ૨૦૦૧ રેડ હેટ, ઇન્ક. અને લુઇસ પેડ્રો કોએલ્હો"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "kreadconfig લખ્યું જેના પર આ આધારિત છે "
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "લુઇસ પેડ્રો કોએલ્હો"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "બર્નહાર્ડ રોસેનક્રેન્ઝર"
--- /dev/null
+# translation of kwriteconfig.po to hebrew
+# Copyright (C) 2003, 2008 Free Software Foundation, Inc.
+#
+# Dror Levin <spatz@012.net.il>, 2003.
+# Shlomi Loubaton <shlomil@hotmail.com>, 2003.
+# tahmar1900 <tahmar1900@gmail.com>, 2008.
+# Diego Iastrubni <elcuco@kde.org>, 2008, 2012.
+# Elkana Bardugo <ttv200@gmail.com>, 2017. #zanata
+# SPDX-FileCopyrightText: 2023, 2024 Yaron Shahrabani <sh.yaron@gmail.com>
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: 2024-05-22 06:40+0300\n"
+"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
+"Language-Team: צוות התרגום של KDE ישראל\n"
+"Language: he\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && "
+"n % 10 == 0) ? 2 : 3));\n"
+"X-Generator: Lokalize 24.02.2\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "נא ליצור קשר עם הנהלת המערכת שלך."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "קובץ ההגדרות „%1” נעול לכתיבה.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "ברירת מחדל"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&אחורה"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&קדימה"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&בית"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&חדש"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "יצירת מסמך חדש"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&פתיחה…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "פתיחת מסמך קיים"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "פ&תיחת האחרונים"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "פתיחת מסמך שהיה בשימוש לאחרונה"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&שמירה"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "שמירת המסמך"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "שמירה &בשם…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "שמירת המסמך בשם חדש"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "שח&זור"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "הסגת שינויים שנערכו במסמך"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&סגירה"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "סגירת המסמך"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "ה&דפסה…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "הדפסת המסמך"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "הצגה מקדימה להד&פסה"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "הצגת תצוגה מקדימה להדפסת המסמך"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "דוא״&ל…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "שליחת המסמך בדוא״ל"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "י&ציאה"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "יציאה מהיישום"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "ה&סגה"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "הסגת הפעולה האחרונה"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "ביצוע מ&חדש"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "ביצוע הפעולה שהוסגה מחדש"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&גזירה"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "גזירת הבחירה ללוח הגזירים"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "ה&עתקה"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "העתקת הבחירה ללוח הגזירים"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "ה&דבקה"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "הדבקת תוכן לוח הגזירים"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "&ניקוי"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "בחירה בה&כול"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "בי&טול בחירה"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&איתור…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "איתור ה&בא"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "איתור ה&קודם"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "ה&חלפה…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "תקריב ל&גודל המקורי"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "הצגת המסמך בגודל האמיתי שלו"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "התאמה ל&עמוד"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "התאמת גודל המסמך לגודל החלון"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "התאמה ל&רוחב העמוד"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "לכוון את המרחק מהמסמך כדי שיופיע לכל רוחבו של החלון"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "התאמה ל&גובה העמוד"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "לכוון את המרחק מהמסמך כדי שיופיע לכל אורכו של החלון"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "הת&קרבות"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "הת&רחקות"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&תקריב…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "בחירת מרחק התקריב"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&רענון"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "רענון המסמך"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "למ&עלה"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "עלייה למעלה"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "העמוד ה&קודם"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "מעבר לעמוד הקודם"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "העמוד ה&בא"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "מעבר לעמוד הבא"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "מ&עבר אל…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "מ&עבר לעמוד…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "מעבר ל&שורה…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "העמוד ה&ראשון"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "מעבר לעמוד הראשון"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "העמוד ה&אחרון"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "מעבר לעמוד הקודם"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "א&חורה"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "חזרה במסמך"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "ק&דימה"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "התקדמות במסמך"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "הוספת &סימנייה"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&עריכת סימניות…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&איות…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "בדיקת איות המסמך"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "הצגת &סרגל תפריטים"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "הצגת או הסתרת סרגל תפריטים"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "הצגת סרגל &כלים"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "הצגת או הסתרת סרגל כלים"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "הצגת &שורת מצב"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "הצגת או הסתרת שורת מצב"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "מצב מסך מ&לא"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "הגדרת קיצורי מ&קלדת…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "ה&גדרת %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "הגדרת ס&רגלי כלים…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "הגדרת ה&תראות…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&ספרון ההדרכה של %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "מה &זה?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "דיווח על &תקלה…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "הגדרת &שפה…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&על %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "&על KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "מ&חיקה"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&שינוי שם…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "העברה ל&אשפה"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&תרומה"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "&פתיחת תפריט"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "פתיחה"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "חדש"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "סגירה"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "שמירה"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "הדפסה"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "יציאה"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "החזרה"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "ביצוע חוזר"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "גזירה"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "העתקה"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "הדבקה"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "הדבקת בחירה"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "בחירה בהכול"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "ביטול בחירה"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "מחיקת מילים אחורה"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "מחיקת מילים קדימה"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "איתור"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "איתור הבא"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "איתור הקודם"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "החלפה"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "בית"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "התחלה"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "סיום"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "קודם"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "הבא"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "למעלה"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "חזרה"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "קדימה"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "רענון"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "התחלת השורה"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "סוף השורה"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "מעבר לשורה"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "מילה אחורה"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "מילה קדימה"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "הוספת סימנייה"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "התקרבות"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "התרחקות"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "מצב מסך מלא"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "הצגת סרגל תפריטים"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "הפעלת הלשונית הבאה"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "הפעלת הלשונית הקודמת"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "עזרה"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "מה זה"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "השלמת טקסט"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "התאמת ההשלמה הקודמת"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "התאמת ההשלמה הבאה"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "השלמת תת־מחרוזת"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "הפריט הקודם ברשימה"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "הפריט הבא ברשימה"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "פתיחת האחרונים"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "שמירה בשם"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "שחזור"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "הצגה מקדימה להדפסה"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "דואר"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "פינוי"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "תקריב מקורי"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "התאמה לעמוד"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "התאמה לרוחב"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "התאמה לגובה"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "תקריב"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "קפיצה"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "קפיצה לעמוד"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "מסמך אחורה"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "מסמך קדימה"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "עריכת סימניות"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "איות"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "הצגת סרגל כלים"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "הצגת סרגל מצב"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "איגוד מקשים"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "הגדרת יישום"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "הגדרת סרגלי כלים"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "הגדרת התראות"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "דיווח על תקלה"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "הגדרת שפה…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "על היישום"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "על KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "מחיקה"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "שינוי שם"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "העברה לאשפה"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "תרומה"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "הצגת/הסתרת קבצים מוסתרים"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "יצירת תיקייה"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "פתיחת התפריט הראשי"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "פתיחת תפריט ההקשר"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "כלי KDE לעדכון קובצי הגדרות משתמש"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "שמירת תוצאות פלט מסקריפטים"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"לבדיקות יחידה: לא לכתוב את הרשומות שבוצעו, כך שבכל הרצה חוזרת, הסקריפטים "
+"יופעלו שוב"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "לבדוק האם קובץ ההגדרות עצמו דורש עדכון"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "קבצים מהם לקרוא הנחיות עדכון"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "תיקייה בה לייצר קבצים [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "תיקייה"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "הצגת רשיונות תוכנה."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "להשתמש ב־<file> (קובץ) במקום בהגדרות כלליות"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"הקבוצה לחפש בה. יש להשתמש ב־„<default>” (ברירת מחדל) לקבוצת העל או להשתמש "
+"במחזוריות לקבוצות מקוננות."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "מפתח לחיפוש"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "ערך ברירת מחדל"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "סוג המשתנה"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"שם קבוצה לא יכול להיות ריק. יש להשתמש ב־„<default>” (ברירת מחדל) לקבוצת העל"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"סוג משתנה. יש להשתמש ב־„bool” למשתנה בוליאני, אחרת מתייחסים אליו כאל מחרוזת"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "למחוק את המפתח המוקצה אם פעיל"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "הערך לכתיבה. חובה, במעטפת אפשר להשתמש ב־'' לריק"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "העצה היומית"
--- /dev/null
+# translation of kwriteconfig.po to Hindi
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Ravishankar Shrivastava <raviratlami@yahoo.com>, 2007.
+# G Karunakar <karunakar@indlinux.org>, 2012.
+# Raghavendra Kamath <raghu@raghukamath.com>, 2021, 2022.
+# SPDX-FileCopyrightText: 2024 kali <skkalwar999@gmail.com>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-12-15 19:32+0530\n"
+"Last-Translator: kali <skkalwar999@gmail.com>\n"
+"Language-Team: Hindi <kde-i18n-doc@kde.org>\n"
+"Language: hi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 24.08.2\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "कृपया अपने तंत्र व्यवस्थापक से संपर्क करें। "
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "कॉन्फ़िगरेशन फ़ाइल \"%1\" लेखन योग्य नहीं है। \n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "पूर्वन्यस्त"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "पीछे"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "आगे"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "घर"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "खोलें"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "हाल ही का खोलें"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "सहेजें"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "ऐसे सहेजें"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "पलटें"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "बंद करें"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "छापें"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "छपाई नमूना"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "ईमेल"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "बाहर जाएँ"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "अनुप्रयोग के बोरे में"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "पूर्ववत करें"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "नक़ल"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "चिपकाएँ"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "साफ करें"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "सभी चुनें"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "अचयनित करें"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "ढूंढें"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "अगला ढूंढें"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "पिछले ढूंढें"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "बदलें"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "वास्तविक आकार"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "पृष्ठ के अनुरूप"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "चौड़ाई के अनुरूप"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "ऊँचाई के अनुरूप"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "ज़ूम इन"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "ज़ूम आउट"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "ज़ूम"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "सभी चुनें"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "ऊपर"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "पृष्ठ में जाएँ"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "पंक्ति पर जाएँ"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "पृष्ठ में जाएँ"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "पंक्ति पर जाएँ"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "पृष्ठ के अनुरूप"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "पंक्ति पर जाएँ"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "पृष्ठ में जाएँ"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "पीछे"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "आगे"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "पुस्तचिन्ह जोड़ें"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "पुस्तचिह्न संपादित करें"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "वर्तनी"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "मेन्यूपट्टी दिखाएँ"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "मेन्यूपट्टी दिखाएँ"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "औज़ार पट्टी दिखाएँ"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "औज़ार पट्टी दिखाएँ"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "स्थिति-पट्टी दिखाएँ"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "स्थिति-पट्टी दिखाएँ"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "पूर्ण स्क्रीन मोड"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "भाषा विन्यस्त करें…"
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "औज़ार पट्टी विन्यस्त करें"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "सूचनाएँ विन्यस्त करें"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "यह क्या है?"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "त्रुटि दर्ज करें"
+
+#: gui/kstandardactions_p.h:135
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "भाषा विन्यस्त करें…"
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "केडीई के बारे में"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "केडीई के बारे में"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "मिटाएँ"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "नाम बदलें"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "कूडे में डालें"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "दान करें"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "हाल ही का खोलें"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "खोलें"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "नया"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "बंद करें"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "सहेजें"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "छापें"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "बाहर जाएँ"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "पूर्ववत करें"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "फिर करें"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "काटें"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "नक़ल"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "चिपकाएँ"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "चयन चिपकाएँ"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "सभी चुनें"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "अचयनित करें"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "शब्द को पीछे की ओर से हटाएं "
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "शब्द को आगे की ओर से हटाएं "
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "ढूंढें"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "अगला ढूंढें"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "पिछले ढूंढें"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "बदलें"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "घर"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "प्रारंभ"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "अंत"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "पहले "
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "अगला"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "ऊपर"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "पीछे"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "आगे"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "री-लोड"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "पंक्ति का आरंभ"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "पंक्ति का अंत"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "पंक्ति पर जाएँ"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "पिछला शब्द"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "आगे का शब्द"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "पुस्तचिन्ह जोड़ें"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "ज़ूम इन"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "ज़ूम आउट"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "पूर्ण स्क्रीन मोड"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "मेन्यूपट्टी दिखाएँ"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "अगला टैब सक्रिय करें"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "पिछला टैब सक्रिय करें"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "मदद"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "यह क्या है?"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "पाठ पूर्णता"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "पिछला समापन मेल"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "अगला समापन मेल"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "उप-स्ट्रिंग पूर्णता "
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "सूची में पिछली चीज"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "सूची में अगली चीज"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "हाल ही का खोलें"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "ऐसे सहेजें"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "पलटें"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "छपाई नमूना"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "ईमेल"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "साफ करें"
+
+#: gui/kstandardshortcut.cpp:343
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "वास्तविक आकार"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "पृष्ठ के अनुरूप"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "चौड़ाई के अनुरूप"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "ऊँचाई के अनुरूप"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "ज़ूम"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "में जाएँ"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "पृष्ठ में जाएँ"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "पिछला दस्तावेज़"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "अगला दस्तावेज़"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "पुस्तचिह्न संपादित करें"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "वर्तनी"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "औज़ार पट्टी दिखाएँ"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "स्थिति-पट्टी दिखाएँ"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "कुंजी बाइंडिंग"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "अनुप्रयोग विन्यस्त करें"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "औज़ार पट्टी विन्यस्त करें"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "सूचनाएँ विन्यस्त करें"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "त्रुटि दर्ज करें"
+
+#: gui/kstandardshortcut.cpp:417
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "भाषा विन्यस्त करें…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "अनुप्रयोग के बोरे में"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "केडीई के बारे में"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "मिटाएँ"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "नाम बदलें"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "कूडे में डालें"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "दान करें"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "छुपी फ़ाइलें दिखाएँ/छुपाएँ"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "फ़ोल्डर बनाएँ"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "उपयोगकर्ता कॉन्फ़िगरेशन फ़ाइलों को अद्यतन करने के लिए केडीई उपकरण "
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "स्क्रिप्ट से आउटपुट परिणाम रखें "
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "जांचें कि क्या कॉन्फ़िगर फ़ाइल को अपडेट करने की आवश्यकता है "
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "फ़ाइल (लों) से अद्यतन निर्देश पढ़ने के लिए "
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "फ़ाइलों को जनरेट करने के लिए डिरेक्ट्री [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "डिरेक्ट्री"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "सोफ्टवेयर का अनुज्ञापत्र दिखाएँ"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "वैश्विक कॉन्फ़िग के बजाए <file> इस्तेमाल करें"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"देखने के लिए समूह। रूट समूह के लिए \"<default>\" का उपयोग करें, या अंतर समूहों के लिए बार-"
+"बार उपयोग करें।"
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "कुंजी जिसे देखा जाना है"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "पूर्वन्यस्त मूल्य"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "परिवर्तनीय का प्रकार"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "समूह का नाम खाली नहीं हो सकता, रूट समूह के लिए \"<default>\" का उपयोग करें"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"परिवर्तनीय का प्रकार. इस्तेमाल करें \"bool\" बूलियन के लिए, अन्यथा यह एक स्ट्रिंग की तरह "
+"समझा जाएगा"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "सक्षम होने पर निर्दिष्ट कुंजी को हटा दें "
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "मूल्य जो लिखा जाना है. अनिवार्य है, शेल में खाली के लिए '' का इस्तेमाल करें"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "आज का सुझाव "
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "केवल यूनिट परीक्षणों के लिए: उपयोगकर्ता की वास्तविक फ़ाइलों से दूर रहने के लिए परीक्षण "
+#~ "निर्देशिकाओं का उपयोग करें "
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "विकल्पों को सहेजें"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "के-राइट-कॉन्फ़िग"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "राइट के-कॉन्फ़िग प्रविष्टि - शेल स्क्रिप्ट के उपयोग में"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 रेड हैट इंक. तथा लुइस पेद्रो कोएल्हो"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "केडीईकॉन्फ़िग लिखा जिस पर यह आधारित है"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "लुइस पेद्रो कोएल्हो"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "बर्नहार्ड रोजेनक्रेन्जेर"
--- /dev/null
+# translation of kwriteconfig.po to Hindi
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Ravishankar Shrivastava <raviratlami@yahoo.com>, 2007.
+# Ravishankar Shrivastava <raviratlami@aol.in>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2009-01-28 17:22+0530\n"
+"Last-Translator: Ravishankar Shrivastava <raviratlami@aol.in>\n"
+"Language-Team: Hindi <kde-i18n-doc@lists.kde.org>\n"
+"Language: hne\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 0.2\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "समूह जेमां देखना हे"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "समूह जेमां देखना हे"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "समूह जेमां देखना हे"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "समूह जेमां देखना हे"
+
+#: gui/kstandardshortcut.cpp:213
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "समूह जेमां देखना हे"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "उपयोग करव <file> बदला मा वैस्विक कान्फिग के"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "समूह जेमां देखना हे. नेस्टेड समूह बर बारबार उपयोग मं."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "कुंजी जऊन ल देखाना हे"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"चर के किसम. उपयोग करव \"bool\" बूलिये बर, नइ तहां ले ए एक स्ट्रिंग के जइसन समझे जाही"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "मूल्य जऊन ल लिखना हे. अनिवार्य, सेल मं खाली बर '' के उपयोग करव"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "के-राइट-कान्फिग"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "राइट के-कान्फिग प्रविस्टि - सेल स्क्रिप्ट के उपयोग में"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 रेड हेट इंक. अउ लुये पेद्रो कोएल्हो"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "केडीईकान्फिग लिखे हे जऊन मं एही आधारित हे"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "लुये पेद्रो कोएल्हो"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "बर्नहार्ड रोजेनक्रेन्जेर"
--- /dev/null
+# Translation of kwriteconfig to Croatian
+#
+# Andrej Dundović <adundovi@gmail.com>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig 0\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2011-08-02 05:32+0200\n"
+"PO-Revision-Date: 2009-07-01 09:19+0200\n"
+"Last-Translator: Andrej Dundović <adundovi@gmail.com>\n"
+"Language-Team: Croatian <kde-croatia-list@lists.sourceforge.net>\n"
+"Language: hr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Lokalize 0.3\n"
+"X-Environment: kde\n"
+"X-Accelerator-Marker: &\n"
+"X-Text-Markup: kde4\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Tražiti u grupi"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Tražiti u grupi"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Tražiti u grupi"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Tražiti u grupi"
+
+#: gui/kstandardshortcut.cpp:213
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Tražiti u grupi"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Umjesto opće konfiguracije upotrijebi <file> "
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Grupa u kojoj se traži. Ponavljaj za ugnježdene grupe."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Ključ za kojim se traga"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Vrsta varijable. Za Boolean unos upotrijebite \"bool\", u suprotnom će se s "
+"njima postupati kao sa znakovnim nizovima."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Vrijednost koja će biti zapisana. Obavezno u ljusci za prazninu upotrijebite "
+"''"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Zapisuj KConfig unose – za upotrebu u skriptama ljuske"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "© 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Napisan je kreadconfig na kojem je ovo bazirano"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Danko Butorac, Denis Lackovic, Nikola Planinac, Robert Sedak"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "lokalizacija@linux.hr"
--- /dev/null
+# translation of kwriteconfig.po to Upper Sorbian
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# Prof. Dr. Eduard Werner <e.werner@rz.uni-leipzig.de>, 2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2003-12-22 18:13+0100\n"
+"Last-Translator: Prof. Dr. Eduard Werner <e.werner@rz.uni-leipzig.de>\n"
+"Language-Team: Upper Sorbian\n"
+"Language: hsb\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
+"%100==4 ? 2 : 3;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Wužiwaj <dataju> město globalneje konfiguracije"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Kluč, za kotrymž ma so pytać"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Typ wariable. Wužiwaj \"bool\" za Booleowu wariablu, hewak so jako string "
+"wobhladuje"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Hódnota, kiž ma so pisać. Trěbna; za prózdnu hódnotu wužiwaj '' "
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Pisa zapisy za KConfig -- wužiwa so w skriptach"
--- /dev/null
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# Tamas Szanto <tszanto@interware.hu>, 2003.
+# Kristóf Kiszel <ulysses@kubuntu.org>, 2014.
+# SPDX-FileCopyrightText: 2018, 2020, 2021, 2024 Kristof Kiszel <kiszel.kristof@gmail.com>
+msgid ""
+msgstr ""
+"Project-Id-Version: KDE 4.1\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-31 22:46+0200\n"
+"Last-Translator: Kristof Kiszel <ulysses@fsf.hu>\n"
+"Language-Team: Hungarian <kde-l10n-hu@kde.org>\n"
+"Language: hu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 24.02.2\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Lépjen kapcsolatba a rendszergazdával."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "A(z) „%1” beállítófájl nem írható.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Alapértelmezett"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Vissza"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Előre"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Kezdőlap"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "Ú&j"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Új dokumentum létrehozása"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Megnyitás…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Meglévő dokumentum megnyitása"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "&Legutóbbi megnyitása"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Egy legutóbb megnyitott dokumentum megnyitása"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Menté&s"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Dokumentum mentése"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Mentés más&ként…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Dokumentum mentése új néven"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "&Visszaállítás"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Nem mentett módosítások visszavonása"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Bezárás"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Dokumentum bezárása"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Nyomtatás…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Dokumentum nyomtatása"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Nyomtatási &előnézet"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "A dokumentum nyomtatási előnézetének megjelenítése"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "E-&mail…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Dokumentum küldése e-mailben"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Kilépés"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Kilépés az alkalmazásból"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Visszavonás"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Legutóbbi művelet visszavonása"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Újra vég&rehajtás"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Legutóbb visszavont művelet újra végrehajtása"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&Kivágás"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Kijelölés kivágása és a vágólapra helyezése"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Másolás"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Kijelölés másolása a vágólapra"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Beillesztés"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Vágólap tartalmának beillesztése"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "&Törlés"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Össz&es kijelölése"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Kijelö&lés megszüntetése"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Keresés…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Kö&vetkező keresése"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Előző &keresése"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Cse&re…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "N&agyítás a tényleges méretre"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Dokumentum megjelenítése tényleges méretben"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Teljes oldal"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Nagyítás az oldal kitöltéséhez"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Teljes &szélesség"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Nagyítás az oldalszélesség kitöltéséhez"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Teljes ma&gasság"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Nagyítás az oldalmagasság kitöltéséhez"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "N&agyítás"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "K&icsinyítés"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Nagyít&ás…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Válasszon nagyítási szintet"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Frissítés"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Dokumentum frissítése"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Fel"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Ugrás felfelé"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "El&őző oldal"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Ugrás az előző oldalra"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Következő &oldal"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Ugrás a következő oldalra"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Ugrás ide…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Ugrás egy ol&dalra…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "U&grás egy sorra…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "El&ső oldal"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Ugrás az első oldalra"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Ut&olsó oldal"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Ugrás az utolsó oldalra"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Vissza"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Vissza a dokumentumban"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Előre"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Előre a dokumentumban"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Hozzá&adás a könyvjelzőkhöz"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Könyvjelzők szerkesztése…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Helye&sírás-ellenőrzés…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Helyesírás-ellenőrzés a dokumentumban"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "&Menüsor"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Menüsáv megjelenítése vagy elrejtése"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Eszköz&tár megjelenítése"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Eszköztár megjelenítése vagy elrejtése"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Áll&apotsor"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Állapotsor megjelenítése vagy elrejtése"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "&Teljes képernyős mód"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Billentyű¶ncsok beállítása…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "%1 &beállítása…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "&Eszköztárak beállítása…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "É&rtesítések beállítása…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 kéz&ikönyve"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Mi e&z?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Hiba&bejelentés…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Nye&lvbeállítás…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Né&vjegy: %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Névjegy: &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Törlés"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Át&nevezés…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Á&thelyezés a Kukába"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Támogatás"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "&Menü megnyitása"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Megnyitás"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Új"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Bezárás"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Mentés"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Nyomtatás"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Kilépés"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Visszavonás"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Újra végrehajtás"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Kivágás"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Másolás"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Beillesztés"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Kijelölés beillesztése"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Összes kijelölése"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Kijelölés megszüntetése"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "A kurzortól balra álló szó törlése"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "A kurzortól jobbra álló szó törlése"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Keresés"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Következő keresése"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Előző keresése"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Csere"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Saját mappa"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Elejére"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Végére"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Előtte"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Következő"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Fel"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Vissza"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Előre"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Újratöltés"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Sor eleje"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Sor vége"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Ugrás egy sorra"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Előző szó"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Következő szó"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Könyvjelző hozzáadása"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Nagyítás"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Kicsinyítés"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Teljes képernyős mód"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Menüsáv megjelenítése"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Váltás a következő lapra"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Váltás az előző lapra"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Súgó"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Mi ez"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Szövegkiegészítés"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Előző kiegészítés"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Következő kiegészítés"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Részszó-kiegészítés"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Előző listaelem"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Következő listaelem"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Legutóbbi megnyitása"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Mentés másként"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Visszavonás"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Nyomtatási előnézet"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "E-mail"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Törlés"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Nagyítás a tényleges méretre"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Teljes oldal"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Teljes szélesség"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Teljes magasság"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Nagyítás"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Ugrás"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Ugrás oldalra"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Előző dokumentum"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Következő dokumentum"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Könyvjelzők szerkesztése"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Helyesírás"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Eszköztár megjelenítése"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Állapotsor megjelenítése"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Billentyűparancsok"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Alkalmazás beállítása"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Eszköztárak beállítása"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Értesítések beállítása"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Hiba jelentése"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Nyelvbeállítás…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Az alkalmazás névjegye"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "A KDE névjegye"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Törlés"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Átnevezés"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Áthelyezés a Kukába"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Támogatás"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Rejtett fájlok megjelenítése/elrejtése"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Mappa létrehozása"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Főmenü megnyitása"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Helyi menü megnyitása"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Segédprogram a KDE-től felhasználói beállítófájlok frissítéséhez."
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Szkriptkimenetek megtartása"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Csak egységtesztekhez: ne írja ki a kész bejegyzéseket, így minden újra "
+"futtatáskor a parancsfájlok ismét végrehajtódnak"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Ellenőrizze, kell-e frissíteni a beállítófájlt"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "A frissítési utasításokat tartalmazó fájl(ok)"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Fájlok generáláshoz használt mappa [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "mappa"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Szoftverlicenc megjelenítése"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "A megadott <fájl> használata a globális helyett"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"A vizsgált csoport neve. Használja a „<default>”-ot a root csoporthoz, vagy "
+"ismételten megadható egymásba ágyazás esetén."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Keresendő kulcs"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Alapértelmezett érték"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "A változó típusa"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"A csoportnév nem lehet üres, használja a „<default>”-ot a root csoporthoz"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"A változó típusa. Logikai változó esetén „bool”, máskülönben sztring lesz"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "A kijelölt billentyű törlése, ha be van kapcsolva"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"A kiírandó érték. Kötelezően meg kell adni, szkripteknél '' legyen, ha üres"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "A nap tippje"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Csak unit tesztekhez: tesztmappa használata a felhasználó fájljainak "
+#~ "megóvása érdekében"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Mentési beállítások"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Más alkalmazásnyelv"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Beállítások"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "KConfig-bejegyzések írása (parancsfájlokhoz)"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) Red Hat, Inc. & Luís Pedro Coelho, 2001."
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "A kreadconfig szerzője, melyre a program épült"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# SPDX-FileCopyrightText: 2010, 2017, 2021, 2022, 2023 g.sora <g.sora@tiscali.it>
+# Giovanni Sora <g.sora@tioscali.it>, 2014, 2016, 2019, 2020.
+# giovanni <g.sora@tiscali.it>, 2023, 2024.
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-22 17:42+0200\n"
+"Last-Translator: giovanni <g.sora@tiscali.it>\n"
+"Language-Team: Interlingua <kde-i18n-doc@kde.org>\n"
+"Language: ia\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 21.12.1\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Pro favor, tu continge tu administrator de systema"
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "File de configuration \"%1\" non pote scriber se.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Predefinite"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Retro"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Avante"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Domo o Initio"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Nove "
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Crea nove documento"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "A&peri..."
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Aperi un documento existente"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Aperi &recente"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Aperi un documento que ha essite aperite recentemente"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Salveguarda"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Salveguarda documento"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "S&alveguarda como..."
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Salveguarda un documento con un nove nomine"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Re&verte"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Reverte modificationes non salveguardate facite al documento"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Claude"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Claude documento"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Im&prime..."
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Imprime documento"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Vista Preliminar de &Imprimer"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Monstra un vista preliminar del documento"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Invia via &E-posta…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Invia un documento per e-posta"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Quita"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Quita Application"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Ann&ulla"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Annulla ultime action"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "R&eface"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Face de nove ultime action annullate"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&Talia"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Talia selection a area de transferentia"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Copia"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Copia selection a area de transferentia"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Co&lla"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Colla contento de area de transferentia"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "&Netta"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Selection&a Tote"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "De-se&lectiona"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Trova…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Trova proxi&me"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Tro&va precedente "
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Reimplacia…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Aggrandi (zoom) a Dimension &Actual"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Vide documento a su grandor actual"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Ada&pta a la pagina"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Face zoom usque il adapta a pagina in fenestra"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Adapta al lar&gessa de pagina "
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Face zoom usque il adapta a largessa de pagina pagina in fenestra"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Adapta al al&tessa de pagina"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Face zoom usque il adapta a altessa de pagina in fenestra"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Zoom &In (aggrandi)"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Zoom&Out (diminue)"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Zoom…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Selectiona nivello de zoom"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Refresca"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Refresca Documento"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "in &Alto"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Vade in alto"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Pagina precedente"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Vade a pagina precedente"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Pagi&na Proxime"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Vade a pagina proxime"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Vade a.."
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Vade a pagina ..."
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Vade a Linea…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Pagina prime"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Vade a prime pagina"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Pagina u<ime"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Vade a ultime pagina"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Retro"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Vade retro in le documento"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "A&vante"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Vade avante in le documento"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Adde marcator de libro"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Edita marcatores de libro…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Controlo ort&hographic..."
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Controlo Orthographic in documento"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Monstra barra de &menu"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Monstra o cela barra de menu"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Mons&tra le barra de instrumentos"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Monstra o cela barra de instrumentos"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Monstrar barra de st&ato"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Monstra o cela barra de stato"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "M&odo de schermo integre"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Configura Via&s breve de claviero ..."
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Configura %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Configura le &barras de instrumentos..."
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Configura &Notificationes ..."
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 &Manual"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Que es is&to?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Reporta Bug…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Configura &Linguage …"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&A proposito de %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "A proposito de &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Dele"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Renomina…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Move al corbe"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Dona"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Aperi &Menu"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Aperi"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nove "
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Claude"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Salveguarda"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Imprime"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Quita"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Annulla"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Reface"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Talia"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Copia"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Colla"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Colla Selection"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Selige toto"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "De-selectiona"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Cancella Parola de Retro"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Cancella Parola In Avante"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Trova"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Trova proxime"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Trova Precedente"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Reimplacia"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Domo o initio"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Initio"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Fin"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Ante"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Proxime"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "In alto"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Retro"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Avante"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Recarga"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Initio de linea"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Fin de Linea"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Vade al Linea"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Parola de retro"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Parola in Avante"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Adde marcator de libro"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Zoom In (aggrandir)"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Zoom Out (Diminuer)"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Modo de Schermo Integre"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Monstra le barra de menu"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Activa proxime scheda"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Activa previe scheda"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Adjuta"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Que es isto"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Completamento de texto"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Resultato de completamento precedente"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Resultato de completamento proxime"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Completamento de sub-catena"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Elemento precedente in lista"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Elemento proxime in lista"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Aperi Recente "
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Salveguarda como"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Reverte"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Vista preliminar de imprimer"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Posta"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Netta"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Aggrandi (zoom) a Dimension actual"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Adapta a la pagina"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Adapta in largessa"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Adapta in altessa"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Zoom"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Vade a"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Vade a pagina"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Documento Previe (de retro)"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Documento in Avante"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Edita marcatores de libro"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Controlo orthographic"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Monstra le barra de instrumentos"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Monstra le barra de stato"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Ligamines Clave"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Configura Application"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Configura le barras de instrumentos"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Configura notificationes "
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Reporta Bug"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Configura Linguage ..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Re le Application"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Re KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Dele"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Renomina"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Move a corbe"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Dona"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Monstra /Cela files celate"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Crea dossier"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Aperi Menu principal"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Aperi Menu de Contexto"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Instrumento KDE pro actualisar le files de configuration del usator"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Mantene le resultatos de exitos ex le scripts"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Solmente pro essayar unitate: non scriber le entratas facite, assi que con "
+"cata re-execution, le script es executate novemente "
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Controla si le mesme file de configuration debe esser actualisate"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "File(s) ex cuje leger instructiones de actualisation"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Directorio pro generar files in [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "directorio"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Monstra licentia de software."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Usa <file> in vice de config global"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Gruppo de guardar internemente. Usa \"<default>\" per le gruppo de radice, o "
+"usa repetitemente per gruppos annidate."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Clave per cercar"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Valor predefinite"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Typo de variabile"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Nomine de gruppo non pote esser vacue, tu usa \"<default>\" per le gruppo de "
+"radice"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Typo de variabile. Usa \"bool\" per un boolean, alteremente il es tractate "
+"como un catena"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Dele le clave designate si habilitate"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Le valor de scriber. Obligatori usar in un shell \" per vacue"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Consilio del Die"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Solment eper unitates de essayar: usa dossieres de essayar pro estar "
+#~ "foras del ver files de usator"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Salveguarda optiones"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Commuta le linguage de application"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Preferentias"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Entratas de Write KConfig - per uso in scripts de shell"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Il scribeva kreadconfig sur le qual isto es basate"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# Indonesian translations for kwriteconfig package.
+# Copyright (C) 2010 This_file_is_part_of_KDE
+# This file is distributed under the same license as the kwriteconfig package.
+# Gian Giovani <wejick@gmail.com>, 2010.
+# Andhika Padmawan <andhika.padmawan@gmail.com>, 2014.
+# Wantoyo <wantoyek@gmail.com>, 2017, 2018, 2019, 2020, 2021, 2022.
+# Aziz Adam Adrian <4.adam.adrian@gmail.com>, 2022.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2022-08-19 20:36+0700\n"
+"Last-Translator: Wantoyèk <wantoyek@gmail.com>\n"
+"Language-Team: https://t.me/Localizations_KDE_Indonesia\n"
+"Language: id\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 21.12.3\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Silakan kontak pengurus sistem anda."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "File konfigurasi \"%1\" tidak dapat ditulis.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Baku"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Mundur"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Maju"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Beranda"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Buka"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Buka Baru-baru ini"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Simpan"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Simpan Sebagai"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Kembalikan"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Tutup"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Cetak"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Pratinjau Cetak"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Surat"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Berhenti"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Tentang Aplikasi"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Urung"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Salin"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Tempel"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Bersihkan"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Pilih Semua"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Tak Pilih"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Temukan"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Temukan Selanjutnya"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Temukan Sebelumnya"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Ganti"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom to Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Zoom ke Ukuran Sebenarnya"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Paskan Ke Halaman"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Paskan Ke Lebar"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Paskan Ke Tinggi"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Zoom Perbesar"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Zoom Perkecil"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Zoom "
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Pilih Semua"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Atas"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Ke Halaman"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Menuju ke Baris"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Ke Halaman"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Menuju ke Baris"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Paskan Ke Halaman"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Menuju ke Baris"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Ke Halaman"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Mundur"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Maju"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Tambah Markah"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Edit Markah"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Pengejaan"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Tampilkan Menubar"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Tampilkan Menubar"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Tampilkan Bilah Alat"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Tampilkan Bilah Alat"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Tampilkan Bilah Status"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Tampilkan Bilah Status"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Mode Layar Penuh"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "Konfigurasikan Bahasa..."
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Konfigurasikan Bilah Alat"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Konfigurasikan Notifikasi"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Apakah Ini"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Laporkan Bug"
+
+#: gui/kstandardactions_p.h:135
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Konfigurasikan Bahasa..."
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Tentang KDE"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Tentang KDE"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Hapus"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Ubah Nama"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Pindah ke Tong Sampah"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Donasi"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Buka Baru-baru ini"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Buka"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Baru"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Tutup"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Simpan"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Cetak"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Berhenti"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Urung"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Ulang"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Potong"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Salin"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Tempel"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Seleksi Tempel"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Pilih Semua"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Tak Pilih"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Hapus Kata Mundur"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Hapus Kata Maju"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Temukan"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Temukan Selanjutnya"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Temukan Sebelumnya"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Ganti"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Beranda"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Awal"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Akhir"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Sebelumnya"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Selanjutnya"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Atas"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Mundur"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Maju"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Muat Ulang"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Awal Baris"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Akhir Baris"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Menuju ke Baris"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Kata Mundur"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Kata Maju"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Tambah Markah"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Zoom Perbesar"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Zoom Perkecil"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Mode Layar Penuh"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Tampilkan Menubar"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktifkan Tab Selanjutnya"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktifkan Tab Sebelumnya"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Bantuan"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Apakah Ini"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Penyelesai Teks"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Kecocokan Penyelesai Sebelumnya"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Kecocokan Penyelesai Selanjutnya"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Penyelesai Substring"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Item Sebelumnya di Daftar"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Item Selanjutnya di Daftar"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Buka Baru-baru ini"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Simpan Sebagai"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Kembalikan"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Pratinjau Cetak"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Surat"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Bersihkan"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Zoom ke Ukuran Sebenarnya"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Paskan Ke Halaman"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Paskan Ke Lebar"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Paskan Ke Tinggi"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Zoom "
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Ke"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Ke Halaman"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dokumen Mundur"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dokumen Maju"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Edit Markah"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Pengejaan"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Tampilkan Bilah Alat"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Tampilkan Bilah Status"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Pengikat Tuts"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Konfigurasikan Aplikasi"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Konfigurasikan Bilah Alat"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Konfigurasikan Notifikasi"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Laporkan Bug"
+
+#: gui/kstandardshortcut.cpp:417
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Konfigurasikan Bahasa..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Tentang Aplikasi"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Tentang KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Hapus"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Ubah Nama"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Pindah ke Tong Sampah"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Donasi"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Tampilkan/Sembunyikan File Yang Tersembunyi"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Ciptakan Folder"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Alat KDE untuk memperbarui file konfigurasi pengguna"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Jaga output dihasilkan dari skrip"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Cek apakah file konfigurasi itu sendiri memerlukan peningkatan"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "File untuk membaca instruksi pembaruan dari"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Direktori untuk membuat file di [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "direktori"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Tampilkan lisensi perangkat lunak."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Gunakan <file> daripada konfig global"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Group untuk dilihat. Pakai \"<default>\" untuk grup root, atau gunakan "
+"berulang kali untuk grup berkumpul."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Kunci untuk dilihat"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Nilai baku"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Tipe variabel"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "Nama grup tidak boleh kosong, pakai \"<default>\" untuk grup root"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Tipe dari variabel. Gunakan \"bool\" untuk boolean, yang lain akan "
+"diperlakukan seperti string"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Hapus kunci yang dituju jika difungsikan"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Nilai untuk penulisan. Seharusnya, di shell gunakan '' bagi yang kosong"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Tip Hari Ini"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Untuk uji unit saja: gunakan direktori uji agar menjauh dari file asli "
+#~ "pengguna"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Opsi Simpan"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Alihkan Bahasa Aplikasi"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Setelan"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Tulis isi KConfig - untuk digunakan di skrip shell"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Tulis kreadconfig dimana ini ditempatkan"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# translation of kwriteconfig.po to Icelandic
+# Icelandic translation of kwriteconfig
+# Copyright (C) 2004, 2008 Free Software Foundation, Inc.
+#
+# Richard Allen <ra@ra.is>, 2004.
+# Sveinn í Felli <sv1@fellsnet.is>, 2016, 2022.
+# SPDX-FileCopyrightText: 2022, 2024 Guðmundur Erlingsson <gudmundure@gmail.com>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-06-29 14:35+0000\n"
+"Last-Translator: Gummi <gudmundure@gmail.com>\n"
+"Language-Team: Icelandic <kde-i18n-doc@kde.org>\n"
+"Language: is\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Lokalize 23.08.5\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Hafðu samband við kerfisstjóra."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Ekki er hægt að skrifa í grunnstillingaskrána \"%1\".\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Sjálfgefið"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Til &baka"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Á&fram"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Heim"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Nýtt"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Búa til nýtt skjal"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Opna…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Opna skjal sem þegar er til"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Opna ný&legt"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Opna skjal sem var nýlega opnað"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Vi&sta"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Vista skjal"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Vist&a sem…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Vista skjal með nýju heiti"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Aftu&rkalla"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Afturkalla óvistaðar breytingar sem gerðar hafa verið á skjalinu"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Loka"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Loka skjali"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Prenta…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Prenta skjalið"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Forskoða pren&tun"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Sýna prentútgáfu skjals"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Póstur…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Senda skjal í tölvupósti"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Hætta"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Loka forriti"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Afturkalla"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Afturkalla síðustu aðgerð"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Gera a&ftur"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Gera aftur síðustu afturkölluðu aðgerð"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&Klippa"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Klippa val á klippispjald"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Afrita"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Afrita val á klippispjald"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Líma"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Líma af klippispjaldi"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Hr&einsa"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Velja &allt"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Afve&lja"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Finna…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Finna &næsta"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Finna &fyrra"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Skipta út…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Sýna í r&aunstærð"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Skoða skjal í raunstærð þess"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Laga að síðu"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Laga síðu að glugga"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Laga að síðu&breidd"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Laga breidd síðu að glugga"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Laga að síðu&hæð"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Laga hæð síðu að glugga"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Auka &aðdrátt"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Mi&nnka aðdrátt"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Aðdráttur…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Velja aðdráttarstig"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Endurhlaða"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Endurhlaða skjal"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Upp"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Fara upp"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Fyrri síða"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Fara á fyrri síðu"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Næsta síða"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Fara á næstu síðu"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Fara í "
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Fara á &síðu…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Fara í línu…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Fyrsta síða"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Fara á fyrstu síðu"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Síðasta síða"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Fara á síðustu síðu"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Til &baka"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Fara afturábak í skjalinu"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Á&fram"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Fara áfram í skjalinu"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Bæta við bókamerki"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Breyta bókamerkjum…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Stafsetning…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Kanna stafsetningu í skjalinu"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Sýna &valmyndastiku"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Sýna eða fela valmyndastiku"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Sýna &tækjastiku"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Sýna eða fela tækjastiku"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Sýn&a stöðustiku"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Sýna eða fela stöðustiku"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "F&ylla skjá"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Grunnstilla &flýtilykla…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Grunnstilla %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Grunnstilla tækja&stikur…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Grunnstilla tilky&nningar…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&Handbók fyrir %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Hvað er þ&etta?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Senda &villuskýrslu…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Grunnstilla tungu&mál…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Um %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Um &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Eyða"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Endurnefna…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Setja í &ruslið"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Styrkja"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Opna &valmynd"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Opna"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nýtt"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Loka"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Vista"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Prenta"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Hætta"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Afturkalla"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Gera aftur"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Klippa"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Afrita"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Líma"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Líma val"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Velja allt"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Afvelja"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Eyða orðinu á undan"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Eyða orðinu á eftir"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Finna"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Finna næsta"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Finna fyrra"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Skipta út"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Heim"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Byrja"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Ljúka"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Fyrri"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Næsta"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Upp"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Til baka"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Áfram"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Endurhlaða"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Í byrjun línu"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Í enda línu"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Fara í línu"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Afturábak um orð"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Áfram um orð"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Bæta við bókamerki"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Auka aðdrátt"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Minnka aðdrátt"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Fylla skjá"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Sýna valmyndastiku"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Virkja næsta flipa"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Virkja fyrri flipa"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Hjálp"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Hvað er þetta"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Textaútfylling"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Fyrri útfyllingarsamsvörun"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Næsta útfyllingarsamsvörun"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Útfylling strenghluta"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Fyrra atriði á listanum"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Næsta atriði á listanum"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Opna nýlegt"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Vista sem"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Afturkalla"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Forskoðun prentunar"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Póstur"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Hreinsa"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Aðdrátt í raunstærð"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Laga að síðu"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Laga að breidd"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Laga að hæð"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Aðdráttur"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Fara á"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Fara á síðu"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Til baka í skjali"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Áfram í skjali"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Breyta bókamerkjum"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Stafsetning"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Sýna tækjastiku"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Sýna stöðustiku"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Lyklabindingar"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Grunnstilla forrit"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Grunnstilla tækjastikur"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Grunnstilla tilkynningar"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Senda villutilkynningu"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Grunnstilla tungumál…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Um forritið"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Um KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Eyða"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Endurnefna"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Færa í ruslið"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Styrkja"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Sýna/fela faldar skrár"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Búa til möppu"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Opna aðalvalmynd"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Opna samhengisvalmynd"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE-verkfæri til að uppfæra grunnstillingaskrár notenda"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Halda niðurstöðu úr úttaki frá skriftum"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Til einingaprófunar eingöngu: ekki skrifa loknu færslurnar, þannig að við "
+"hverju endurkeyrslu verði skrifturnar keyrðar aftur"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Athuga hvort grunnstillingaskráin þarfnist uppfærslu"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Skrá(r) sem uppfærsluleiðbeiningar eru lesnar úr"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Mappa þar sem á að búa til skrár [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "mappa"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Birta notkunarleyfi hugbúnaðar"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Nota <file> í stað altækra grunnstillinga"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Hópur sem á að leita í. Notaðu \"<default>\" fyrir rótarhópinn eða notaðu "
+"endurtekið fyrir faldaða hópa."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Lykill sem á að leita að"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Sjálfgefið gildi"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Tegund breytu"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Heiti hóps getur ekki verið autt, notaðu \"<default>\" fyrir rótarhópinn"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Tegund breytu. Notaðu \"bool\" fyrir satt/ósatt, að öðrum kosti er farið með "
+"breytuna sem streng"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Eyða tilgreindum lykli ef virkt"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Gildið sem á að skrifa. Í skeljum verður að nota '' ef það er tómt"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Vísbending dagsins"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Einungis fyrir prófanir: nota prófunarmöppur til að forðast skrár "
+#~ "notandans"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Valkostir vistunar"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Skipta um tungumál forrits"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Kjörstillingar"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Skrifa KConfig færslur - til afnota fyrir skeljaforrit"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "skrifaði kreadconfig sem þetta forrit byggir á"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# translation of kwriteconfig.po to Italian
+# Copyright (C) 2003, 2007, 2008 Free Software Foundation, Inc.
+# Andrea Rizzi <rizzi@kde.org>, 2003.
+# Andrea Rizzi <rizzi@sns.it>, 2007.
+# Luca Bellonda <lbellonda@gmail.com>, 2008.
+# SPDX-FileCopyrightText: 2014, 2016, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Vincenzo Reale <smart2128vr@gmail.com>
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-23 02:27+0200\n"
+"Last-Translator: Vincenzo Reale <smart2128vr@gmail.com>\n"
+"Language-Team: Italian <kde-i18n-it@kde.org>\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 24.02.2\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Contatta il tuo amministratore di sistema."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Il file di configurazione «%1» non è scrivibile.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Predefinito"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Indietro"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Avanti"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Home"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Nuovo"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Crea un nuovo documento"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Apri…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Apri un documento esistente"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Apri &recenti"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Apri un documento che è stato aperto di recente"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Salva"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Salva documento"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "S&alva come…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Salva il documento con un nuovo nome"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Ann&ulla"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Annulla le modifiche non salvate fatte al documento"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Chiudi"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Chiudi documento"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Stam&pa…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Stampa documento"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Antepri&ma di stampa"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Mostra un'anteprima di stampa del documento"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Posta…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Invia documento tramite posta"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Esci"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Esci dall'applicazione"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Ann&ulla"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Annulla l'ultima azione"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Ri&fai"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Rifai l'ultima azione annullata"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&Taglia"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Taglia la selezione negli appunti"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Copia"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Copia la selezione negli appunti"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Incolla"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Incolla il contenuto degli appunti"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Pu&lisci"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Seleziona t&utto"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Dese&leziona"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Trova…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Trova &successivo"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Trova &precedente"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Sostituisci…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Ingr&andimento alla dimensione effettiva"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Mostra il documento nelle sue dimensioni effettive"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "A&datta alla pagina"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Adatta le dimensioni della pagina alla finestra"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Adatta alla &larghezza della pagina"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Adatta la larghezza della pagina alla finestra"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Adatta all'&altezza della pagina"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Adatta l'altezza della pagina alla finestra"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "&Ingrandisci"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "&Riduci"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Ingrandimento…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Seleziona il livello di ingrandimento"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "Aggio&rna"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Aggiorna il documento"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "S&u"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Vai su"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "Pagina &precedente"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Vai alla pagina precedente"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Pagina &successiva"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Vai alla pagina successiva"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "Va&i a..."
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Va&i alla pagina…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Va&i alla riga…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Prima pagina"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Vai alla prima pagina"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "U<ima pagina"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Vai all'ultima pagina"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Indietro"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Indietro nel documento"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Avanti"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Avanti nel documento"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Aggiungi segnalibro"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Modifica i s&egnalibri"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Controllo ortografico…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Controlla l'ortografia nel documento"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Mostra la barra dei &menu"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Mostra o nascondi la barra dei menu"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Mostra la barra degli &strumenti"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Mostra o nascondi la barra degli strumenti"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Mostra la barra di st&ato"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Mostra o nascondi la barra di stato"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Mo&dalità a schermo intero"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Confi&gura le scorciatoie da tastiera"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Configura %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Configura le &barre degli strumenti…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Configura le ¬ifiche"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&Manuale di %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Che &cos'è?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Segnala &bug…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Configura la &lingua…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Inform&azioni su %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Informazioni su &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Elimina"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Rinomina…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Cestina"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Donazione"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Apri &menu"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Apri"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nuovo"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Chiudi"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Salva"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Stampa"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Esci"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Annulla"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Rifai"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Taglia"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Copia"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Incolla"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Incolla la selezione"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Seleziona tutto"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Deseleziona"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Cancella parola all'indietro"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Cancella parola in avanti"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Trova"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Trova succ."
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Trova prec."
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Sostituisci"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Home"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Inizio"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Fine"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Precedente"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Avanti"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Su"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Indietro"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Inoltra"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Ricarica"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Inizio della riga"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Fine della riga"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Vai alla riga"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Parola precedente"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Parola successiva"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Aggiungi segnalibro"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Ingrandisci"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Rimpicciolisci"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Modalità a schermo intero"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Mostra la barra dei menu"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Attiva la scheda successiva"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Attiva la scheda precedente"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Aiuto"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Cos'è"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Completamento del testo"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Corrispondenza di completamento precedente"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Corrispondenza di completamento successiva"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Completamento sottostringa"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Elemento precedente in elenco"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Elemento successivo in elenco"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Apri recenti"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Salva come"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Ripristina"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Anteprima di stampa"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Posta"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Cancella"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Ingrandimento all dimensione effettiva"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Adatta alla pagina"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Adatta alla larghezza"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Adatta all'altezza"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Ingrandimento"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Vai a"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Vai alla pagina"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Indietro di un documento"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Avanti di un documento"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Modifica i segnalibri"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Ortografia"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Mostra la barra degli strumenti"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Mostra la barra di stato"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Associazioni dei tasti"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Configura applicazione"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Configura le barre degli strumenti"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Configura le notifiche"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Segnala un bug"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Configura la lingua…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Informazioni sull'applicazione"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Informazioni su KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Elimina"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Rinomina"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Cestina"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Donazione"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Mostra/nascondi i file nascosti"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Crea cartella"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Apri il menu principale"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Apri menu contestuale"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Strumento di KDE per aggiornare i file di configurazione dell'utente"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Tieni i risultati di uscita degli script"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Solo per le unità di prova: non scrivere le voci completate, in modo che a "
+"ogni nuova esecuzione, gli script vengono eseguiti di nuovo"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Verifica se il file di configurazione richiede un aggiornamento"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "File dai quali leggere le istruzioni di aggiornamento"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Cartella in cui generare i file [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "cartella"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Visualizza la licenza del software."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Utilizza <file> invece della configurazione globale"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Gruppo in cui cercare. Utilizza \"<default>\" per il gruppo radice, o "
+"ripetutamente in caso di gruppi nidificati."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Chiave da cercare"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Valore predefinito"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Tipo di variabile"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Il nome del gruppo non può essere vuoto, usa \"<default>\" per il gruppo "
+"radice"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Tipo di variabile. Utilizza «bool» per un booleano, altrimenti viene "
+"trattato come una stringa"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Elimina il tasto designato se abilitato"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Il valore da scrivere. Obbligatorio, sulla shell utilizzare '' per lasciare "
+"vuoto"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Suggerimento del giorno"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Solo per le unità di prova: utilizza le cartelle di prova per evitare i "
+#~ "file veri degli utenti"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Opzioni di salvataggio"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Cambia la lingua dell'applicazione"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Preferenze"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Scrive voci di KConfig - da utilizzare in script della shell"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. e Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Ha scritto kreadconfig su cui si basa questo programma"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# Ryuichi Yamada <ryuichi_ya220@outlook.jp>, 2023.
+msgid ""
+msgstr ""
+"Project-Id-Version: kconfig5_qt\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2023-02-23 18:21+0900\n"
+"Last-Translator: Ryuichi Yamada <ryuichi_ya220@outlook.jp>\n"
+"Language-Team: Japanese <kde-jp@kde.org>\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Accelerator-Marker: &\n"
+"X-Text-Markup: qtrich\n"
+"X-Qt-Contexts: true\n"
+"X-Generator: Lokalize 22.12.2\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "システム管理者に連絡してください。"
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "設定ファイル \"%1\" は書き込み可能ではありません。\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "デフォルト"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "戻る"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "進む"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "開く"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "保存"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "名前を付けて保存"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "元に戻す"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "閉じる"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "印刷"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "印刷プレビュー"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "メール"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "終了"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "アプリケーションについて"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "元に戻す"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "コピー"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "貼り付け"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "クリア"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "すべて選択"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "選択解除"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom to Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "実際のサイズに拡大"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "ページに合わせる"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "幅に合わせる"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "高さに合わせる"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "拡大"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "縮小"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "拡大"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "すべて選択"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "上へ"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "ページに合わせる"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "戻る"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "進む"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "メニューバーを表示"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "メニューバーを表示"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "フルスクリーンモード"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "言語を設定..."
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "言語を設定..."
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "言語を設定..."
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "これは何"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "バグを報告"
+
+#: gui/kstandardactions_p.h:135
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "言語を設定..."
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "KDE について"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "KDE について"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "削除"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "名前変更"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "ごみ箱に移動"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "寄付"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "開く"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "新規"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "閉じる"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "保存"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "印刷"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "終了"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "元に戻す"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "やり直す"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "切り取り"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "コピー"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "貼り付け"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "選択を貼り付け"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "すべて選択"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "選択解除"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "前"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "次へ"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "上へ"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "戻る"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "進む"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "再読み込み"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "拡大"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "縮小"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "フルスクリーンモード"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "メニューバーを表示"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "次のタブをアクティベート"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "前のタブをアクティベート"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "ヘルプ"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "これは何"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "名前を付けて保存"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "元に戻す"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "印刷プレビュー"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "メール"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "クリア"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "実際のサイズに拡大"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "ページに合わせる"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "幅に合わせる"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "高さに合わせる"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "拡大"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "バグを報告"
+
+#: gui/kstandardshortcut.cpp:417
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "言語を設定..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "アプリケーションについて"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "KDE について"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "削除"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "名前変更"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "ごみ箱に移動"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "寄付"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "隠しファイルを表示/隠す"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "フォルダを作成"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "<file> をグローバル設定の代わりに使用"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "参照するキー"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"変数のタイプ。ブーリアンの場合は “bool” を使います。そうでない場合は、文字列"
+"として扱われます。"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "書き込む値。シェルから使う場合、空の値には '' を使います。"
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
+"Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
+"Language-Team: \n"
+"Language: ka\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Qt-Contexts: true\n"
+"X-Generator: Poedit 3.3.2\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "დაუკავშირდით თქვენს სისტემურ ადმინისტრატორს."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "%1: კონფიგურაციის ფაილი ჩაწერადი არაა.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "ნაგულისხმები"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&უკან"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&წინ"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&საწყისი"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&ახალი"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "ახალი დოკუმენტის შექმნა"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&გახსნა…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "არსებული დოკუმენტის გახსნა"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "ბოლოს გახსნილი ფაილების გახსნა"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "ახლახანს გახსნილი დოკუმენტის გახსნა"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&შენახვა"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "დოკუმენტის შენახვა"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "შეინახვა &როგორც…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "დოკუმენტის ახალი სახელით შენახვა"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "&დაბრუნება"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "დოკუმენტზე განხორციელებული ცვლილებების გაუქმება"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&დახურვა"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "დოკუმენტის დახურვა"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&ბეჭდვა…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "დოკუმენტის დაბეჭდვა"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "&დასაბეჭდის მინიატურა"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "მიმდინარე დოკუმენტების დაბეჭდვისწინა გადახედვის ჩვენება"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&ელფოსტა…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "დოკუმენტის ელფოსტით გაგზავნა"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&გასვლა"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "აპლიკაციიდან გასვლა"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&დაბრუნება"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "ბოლო ქმედების გაუქმება"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "&გამეორება"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "ბოლო დაბრუნებული ქმედების გამეორება"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "ამ&ოჭრა"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "მონიშნულის ბუფერში ამოჭრა"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&კოპირება"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "მონიშნულის ბუფერში კოპირება"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&ჩასმა"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "გაცვლის ბუფერიდან ჩასმა"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "გასუ&ფთავება"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "ყველაფრის &მონიშვნა"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "&მონიშვნის მოხსნა"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&ძებნა…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "&მომდევნოს მოძებნა"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "&წინას მოძებნა"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&ჩანაცვლება…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "&რეალური ზომამდე გადიდება"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "დოკუმენტის რეალური ზომებით ნახვა"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&გვერდში ჩატევა"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "გვერდში ჩატევამდე გადიდება"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "გვერდის &სიგანეში ჩატევა"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "გვერდის სიგანეში ჩატევამდე გადიდება"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "გვერდის &სიმაღლეში ჩატევა"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "გვერდის სიმაღლეში ჩატევამდე გადიდება"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "&გადიდება"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "&დაპატარავება"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&გადიდება…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "აირჩიეთ გადიდების დონე"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&განახლება"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "დოკუმენტის განახლება"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&მაღლა"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "მაღლა ასვლა"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&წინა გვერდი"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "გადასვლა წინა გვერდზე"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&შემდეგი გვერდი"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "შემდეგ გვერდზე გადასვლა"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&გადასვლა…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&გვერდზე გადასვლა…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&ხაზზე გადასვლა…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&პირველი გვერდი"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "გადასვლა პირველ გვერდზე"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&ბოლო გვერდი"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "გადასვლა ბოლო გვერდზე"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&უკან"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "დოკუმენტში უკან გადასვლა"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&წინ"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "დოკუმენტში წინ გადასვლა"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "სანიშნეს &დამატება"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&სანიშნეების ჩასწორება…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&მართლწერა…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "დოკუმენტის მართლწერის შემოწმება"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "&მენიუს ზოლის ჩვენება"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "მენიუს ზოლის ჩვენება/დამალვა"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "&პანელის ჩვენება"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "ხელსაწყოთა ზოლის ჩვენება/დამალვა"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "სტატუსის &ზოლის ჩვენება"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "სტატუსის ზოლის ჩვენება/დამალვა"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "&სრულ-ეკრანზე"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "კლავიატურის &მალსახმობების მორგება…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "%1-ის &მორგება…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "ხელსაწყოთა ზოლები&ს გამართვა…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "&შეტყობინებების მორგება…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1-ის &სახელმძღვანელო"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "რა არის &ეს?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&შეცდომის ანგარიში…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "&ენის მორგება…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "%1-ის &შესახებ"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "&KDE-ის შესახებ"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&წაშლა"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&სახელის გადარქმევა…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&სანაგვე ყუთში გადატანა"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&შეწირვა"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "&მენიუს გახსნა"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "გახსნა"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "ახალი"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "დახურვა"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "შენახვა"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "ამობეჭდვა"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "გამოსვლა"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "დაბრუნება"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "ბრძანების აღდგენა"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "ამოჭრა"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "კოპირება"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "ჩასმა"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "მონიშნულის ჩასმა"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "ყველას მონიშვნა"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "მონიშვნის მოხსნა"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "წინა სიტყვის წაშლა"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "შემდეგი სიტყვის წაშლა"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "მოძებნა"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "მომდევნოს მოძებნა"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "წინას პოვნა"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "ჩანაცვლება"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "საწყისი"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "დაწყება"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "დასრულება"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "პრიორიტეტი"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "შემდეგი"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "მაღლა"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "უკან"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "წინ"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "თავიდან ჩატვირთვა"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "ხაზის დასაწყისი"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "ხაზის დასასრული"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "ხაზზე გადასვლა"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "წინა სიტყვა"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "შემდეგი სიტყვა"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "სანიშნის დამატება"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "გადიდება"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "გადიდება"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "სრულეკრანი რეჟიმი"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "მენიუს ზოლის ჩვენება"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "შემდეგი ჩანართის გააქტიურება"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "წინა ჩანართის გააქტიურება"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "დახმარება"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "რა არის ეს"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "ტექსტის დასრულება"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "წინა დასრულებაზე გადასვლა"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "შემდეგ დასრულებაზე გადასვლა"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "ქვესტრიქონის დასრულება"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "სიის წინა ჩანაწერი"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "სიის შემდეგი ჩანაწერი"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "ბოლოს გახსნილი ფაილების გახსნა"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "შენახვა როგორც"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "დაბრუნება"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "დასაბეჭდის გადახედვა"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "წერილი"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "სუფთა ცა"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "რეალური ზომამდე გადიდება"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "გვერდში ჩატევა"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "სიგანეში ჩატევა"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "სიმაღლეში ჩატევა"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "გადიდება"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "გადასვლა"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "გვერდზე გადასვლა"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "წინა დოკუმენტი"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "შემდეგი დოკუმენტი"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "სანიშნების ჩასწორება"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "მართლწერა"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "პანელის ჩვენება"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "სტატუსის ზოლის ჩვენება"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "კლავიატურის ბმები"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "აპლიკაციის მორგება"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "ხელსაწყოთა ზოლების გამართვა"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "შეტყობინებების მორგება"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "შეცდომის ანგარიში"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "ენის მორგება…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "ინფორმაცია ამ აპლიკაციის შესახებ"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "KDE-ს შესახებ"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "წაშლა"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "სახელის გადარქმევა"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "ფაილის ნაგავში გადატანა"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "შემოწირულობა"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "დამალული ფაილების ჩვენება/დამალვა"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "საქაღალდის შექმნა"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "მთავარი მენიუს გახსნა"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "კონტექსტური მენიუს გახსნა"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE-ის პროგრამა მომხმარებლის კონფიგურაციის ფაილების განახლებისთვის"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "გამოტანილი შედეგების სკრიპტებისგან დამალვა"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"მხოლოდ ტესტირებისთვის: ნუ დაწერთ დასრულების ჩანაწერებს, რადგან ყოველი "
+"თავიდან გაშვებისას სკრიპტები თავიდან სრულდება"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "შემოწმება, კონფიგურაციის ფაილი თვითონ ხომ არ ითხოვს განახლებას"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "განახლების ინსტრუქციების ფაილი"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "ფაილების დასაგენერირებელი საქაღალდე [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "საქაღალდე"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "სალიცენზიო შეთანხმების ჩვენება."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "გლობალური კონფიგურაციის მაგიერ<file> -ის გამოყენება"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"მოსაძებნი ჯგუფი. გამოიყენეთ\"<default>\" საწყისი ჯგუფისთვის ან გამოიყენეთ "
+"გამეორებით, ჩალაგებული ჯგუფებისთვის."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "მოსაძებნი გასაღები"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "ნაგულისხმები მნიშვნელობა"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "ცვლადის ტიპი"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"ჯგუფის სახელი ცარიელი ვერ იქნება. საწყისი ჯგუფისთვის გამოიყენეთ \"<default>\""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"ცვლადის ტიპი. გამოიყენეთ \"bool\" ლოგიკური მნიშვნელობისთვის. წინააღმდეგ "
+"შემთხვევაში ის სტრიქონად აღიქმება"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "გამოყოფილი გასაღების წაშლა, თუ ჩართულია"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "ჩასაწერი მნიშვნელობა. გარსში, ცარიელისთვის გამოიყენეთ ''"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "დღის მინიშნება"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "მხოლოდ ერთეულის ტესტირებისთვის: გამოიყენეთ სატესტო საქაღალდეები, რათა "
+#~ "მომხმარებლის რეალურ ფაილებს არ შეეხოთ"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "პარამეტრების შენახვა"
--- /dev/null
+# translation of kconfig.po to Kabyle
+# Athmane MOKRAOUI <butterflyoffire@protonmail.com>, 2024.
+# ButterflyOfFire <butterflyoffire@protonmail.com>, 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-12-08 16:19+0100\n"
+"Last-Translator: ButterflyOfFire <butterflyoffire@protonmail.com>\n"
+"Language-Team: Kabyle\n"
+"Language: kab\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n>1;\n"
+"X-Generator: Gtranslator 47.1\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Ttxil-k·m nermes anedbal-ik·im n unagraw."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Afaylu n uswel \"%1\" ur yelli ara i tira.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Amezwar"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Uɣa&l"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Uḍ&fir"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "A&gejdan"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "Amay&nut"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Asnulfu n yisemli amaynut"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Ldi…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Ldi isemli yellan"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Ldi i&neggura"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Ldi isemli d-yettwaldin tagara kan"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Sekles"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Sekles isemli"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Sekles &am…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Sekles isemli s yisem amaynut"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Erre&d"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Mdel"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Sekkeṛ isemli"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Sigge&z…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Siggez isemli"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Siggez tas&kant"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Sken-d taskant send asiggez n yisemli"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "I&mayl…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Ceyyeɛ isemli s yimayl"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Ffeɣ"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Ffeɣ seg usnas"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "E&rr-d"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Sefsex tigawt taneggarut"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Ale&s"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Ales-as i tigawt taneggarut yettwasefsxen"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&Gzem"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Gzem afran-nni ɣer tfelwit"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Nɣel"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Nɣel afran-nni ɣer tfelwit"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Senṭeḍ"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Senṭeḍ agbur n tfelwit"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "S&feḍ"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Fren-iten &akk"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Kkes tafra&yt"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "A&f-d…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Nadi uḍfi&r"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Nadi u&zwir"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Se&mselsi…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Semɣer ɣer teɣzi t&amirant"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Sken-d isemli deg lqedd-is amiran"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Amwati n tiddi akken yella usebter"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Semɣeṛ akken ad d-yezg akked tiddi n usfaylu"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Se&mɣeṛ"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "S&imẓi"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Se&mɣeṛ…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Fren aswir n usimɣeṛ"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "Smi&ren"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Asawen"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Ali"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "Ase&bter uzwir"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Ddu ɣer usebter yezrin"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Asebter uḍ&fir"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Ddu ɣer usebter uḍfir"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Ddu ɣer…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Ddu ɣer usebter…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Ddu ɣer i&zirig…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Asebter a&menzu"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Ddu ɣer usebter amezwaru"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Asebter a&neggaru"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Ddu ɣer usebter aneggaru"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Uɣa&l"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Tuɣalin ɣer deffir deg isemli"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Uḍ&fir"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Ddu ɣer zdat deg isemli"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Rnu t&acreḍt"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Ẓr&eg ticraḍ…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Ssefqed tirawt deg isemli"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Sken afeggag n wu&muɣ"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Sken neɣ ffer afeggag n wumuɣ"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Sken-d &tafeggagt n yifecka"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Sken-d neɣ ffer tafeggagt n yifecka"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "As&kar n ugdil aččuran"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "S&wel inegzumen n unasiw…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "Swe&l %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "S&wel ifeggagen n yifecka…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Swe&l ilɣa…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "Tasemlit n useqdac n %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "D acu-&t wa?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "A&zen abug…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Swel tutlayt…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Ɣ&ef %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Ɣef &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Kkes"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Sen&fel isem…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Si&weḍ-it ɣer tqecwalt"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Mu&dd tawsa"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Ldi u&muɣ"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Ldi"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Amynut"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Mdel"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Sekles"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Siggez"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Ffeɣ"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Err-d"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Err-d"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Gzem"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Nɣel"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Senṭeḍ"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Senṭeḍ tafrant"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Fren-iten akk"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Kkes tafrayt"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Kkes awal ɣer deffir"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Kkes awal ɣer zdat"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Af-d"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Nadi uḍfir"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Nadi uzwir"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Semselsi"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Agejdan"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Tazwara"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Tagara"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Uḍfir"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Asawen"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Ɣer deffir"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Ɣer zdat"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Smiren"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Tazwara n yizirig"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Taggara n yizirig"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Ddu ɣer izirig"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Sɛeddi awal ɣer deffir"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Sɛeddi awal ɣer zdat"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Rnu tacreḍt n usebter"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Semɣeṛ"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Simẓi"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Askar n ugdil aččuran"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Sken afeggag n wumuɣ"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Rmed iccer d-iteddun"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Rmed iccer yezrin"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Tallalt"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "D acu-t wa?"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Akemmel n uḍris"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Aferdis yezrin n tebdart"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Aferdis i d-iteddun deg tebdart"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Ldi ineggura"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Sekles am"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Err-d"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Siggez taskant"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Imayl"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Sfeḍ"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Semɣeṛ ɣer teɣzi tamirant"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Amwati n tiddi akken yella usebter"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Semɣeṛ"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Ddu ɣer"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Ddu ɣer usebter"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Uɣal ɣer deffir de isemli"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Ddu ɣer zdat deg isemli"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Ẓreg ticraḍ"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Taɣdira"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Sken tafeggagt n ifecka"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Ssken-d afeggag n waddad"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Inegzumen n unasiw"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Swel asnas"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Swel ifeggagen n yifecka"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Swel ilɣa"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Azen abug"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Swel tutlayt…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Ɣef usnas"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Ɣef KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Kkes"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Beddel isem"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Siweḍ-it ɣer tqecwalt"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Mudd tawsa"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Sken / Ffer ifuyla yeffren"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Snulfu-d akaram"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Ldi umuɣ agejdan"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Afecku KDE i uleqqem n yifuyla n twila n useqdac"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Eǧǧ igmaḍ n tuffɣa n yisekripten"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Senqed ma yella afaylu n uswel yesra aleqqem"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "akaram"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Sken-d turagt n useɣẓan."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Tasarut i unadi"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Azal amezwaru"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Kkes tasarut yettwafernen ma yella tettwarmed"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Sekles iɣewwaṛen"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Beddel tutlayt n usnas"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Ismenyifen"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & LuÃs Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & LuÃs Pedro Coelho"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Ismawen-inek·inem"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "Imaylen-inek.inem"
--- /dev/null
+# translation of kwriteconfig.po to Kazakh
+#
+# Sairan Kikkarin <sairan@computer.org>, 2005, 2007, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2008-11-01 10:21-0400\n"
+"Last-Translator: Sairan Kikkarin <sairan@computer.org>\n"
+"Language-Team: Kazakh\n"
+"Language: kk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Жалпы баптау орнына <file> қолданылсын"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Ішінде іздейтін топ. Ішіндегі топтар үшін қайта қолданыңыз."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Кілті"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Айнымалының түрі. Бульдік үшін \"bool\" деңіз, әйтпесе мәтін жолы деп "
+"саналады"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Жазылатын мән. Міндетті түрде болу керек, бос болса '' деп жазыңыз"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "KConfig жазулары - қоршау-орта скрипттері үшін"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "kreadconfig-ті негіздеген және жазылған"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# translation of kwriteconfig.po to Khmer
+# auk piseth <piseth_dv@khmeros.info>, 2006.
+# Khoem Sokhem <khoemsokhem@khmeros.info>, 2007, 2008.
+# Eng Vannak <evannak@khmeros.info>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2008-06-24 10:38+0700\n"
+"Last-Translator: Khoem Sokhem <khoemsokhem@khmeros.info>\n"
+"Language-Team: Khmer <support@khmeros.info>\n"
+"Language: km\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: KBabel 1.11.4\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "ប្រើ <file> ជំនួសឲ្យការកំណត់ជាសកល"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "ក្រុមត្រូវរកមើល ។ ប្រើដដែលៗសម្រាប់ក្រុមខាងក្នុង ។"
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "ពាក្យគន្លឹះដែលត្រូវស្វែងរក"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr "ប្រភេទអថេរ ។ ប្រើ \"bool\" សម្រាប់ប៊ូលីន បើពុំនោះសោត វាត្រូវបានចាត់ទុកជាខ្សែអក្សរ ។"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "តម្លៃដែលត្រូវសរសេរ ។ ដែលចាំបាច់ នៅលើសែល '' សម្រាប់ទទេ"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "សរសេរធាតុ KConfig - សម្រាប់ប្រើក្នុងស្គ្រីបសែល"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "រក្សាសិទ្ធិឆ្នាំ ២០០១ ដោយ Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "បានសរសេរ kreadconfig នៅលើមូលដ្ឋាននេះ"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# translation of kwriteconfig.po to Kannada
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Shankar Prasad <svenkate@redhat.com>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2009-01-07 16:11+0530\n"
+"Last-Translator: Shankar Prasad <svenkate@redhat.com>\n"
+"Language-Team: Kannada <en@li.org>\n"
+"Language: kn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "ಸಾರ್ವತ್ರಿಕ ಸಂರಚನೆಯ ಬದಲು <file> ಅನ್ನು ಉಪಯೋಗಿಸು"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "ನೋಡಬೇಕಾದ ಪದ"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# Translation of kwriteconfig to Korean.
+# Copyright (C) 2007 This_file_is_part_of_KDE
+# This file is distributed under the same license as the 2007 package.
+# SPDX-FileCopyrightText: 2007, 2014, 2015, 2016, 2017, 2018, 2020, 2021, 2022, 2023, 2024 Shinjo Park <kde@peremen.name>
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-08-20 23:33+0200\n"
+"Last-Translator: Shinjo Park <kde@peremen.name>\n"
+"Language-Team: Korean <kde-kr@kde.org>\n"
+"Language: ko\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Lokalize 23.08.5\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "시스템 관리자에게 연락하십시오."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "설정 파일 \"%1\"에 기록할 수 없습니다.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "기본값"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "뒤로(&B)"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "앞으로(&F)"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "홈(&H)"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "새로 만들기(&N)"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "새 문서 만들기"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "열기(&O)…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "기존 문서 열기"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "최근에 연 파일(&R)"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "최근에 열었던 문서 열기"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "저장(&S)"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "문서 저장"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "다른 이름으로 저장(&A)…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "다른 이름으로 문서 저장"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "되돌리기(&V)"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "저장되지 않은 문서의 변경 사항 되돌리기"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "닫기(&C)"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "문서 닫기"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "인쇄(&P)…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "문서 인쇄"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "인쇄 미리 보기(&W)"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "문서의 인쇄 미리 보기 표시"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "메일 전송(&M)…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "이메일로 문서 전송"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "끝내기(&Q)"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "앱 끝내기"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "실행 취소(&U)"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "마지막 동작 실행 취소"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "다시 실행(&D)"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "마지막으로 취소한 동작 다시 실행"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "잘라내기(&T)"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "선택 항목을 클립보드로 잘라내기"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "복사(&C)"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "선택 항목을 클립보드에 복사"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "붙여넣기(&P)"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "클립보드 내용 붙여넣기"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "지우기(&L)"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "모두 선택(&A)"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "선택 해제(&L)"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "찾기(&F)…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "다음 찾기(&N)"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "이전 찾기(&V)"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "바꾸기(&R)…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "실제 크기로 조정(&A)"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "문서를 실제 크기로 보기"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "쪽에 맞추기(&F)"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "쪽 크기를 창 크기에 맞게 조정"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "쪽 너비에 맞추기(&W)"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "쪽 너비를 창 너비에 맞게 조정"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "쪽 높이에 맞추기(&H)"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "쪽 높이를 창 높이에 맞게 조정"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "확대(&I)"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "축소(&O)"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "확대/축소(&Z)…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "확대/축소 단계 선택"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "새로 고침(&R)"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "문서 새로 고침"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "위로(&U)"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "위로 이동"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "이전 쪽(&P)"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "이전 쪽으로 이동"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "다음 쪽(&N)"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "다음 쪽으로 이동"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "이동(&G)…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "쪽으로 이동(&G)…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "줄로 이동(&G)…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "첫 쪽(&F)"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "첫 번째 쪽으로 이동"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "마지막 쪽(&L)"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "마지막 쪽으로 이동"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "뒤로(&B)"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "문서에서 뒤로 이동"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "앞으로(&F)"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "문서에서 앞으로 이동"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "책갈피 추가(&A)"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "책갈피 편집(&E)…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "맞춤법 검사(&S)…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "문서의 맞춤법 검사"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "메뉴 표시줄 표시(&M)"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "메뉴 표시줄 표시 또는 숨기기"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "도구 모음 표시(&T)"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "도구 모음 표시 또는 숨기기"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "상태 표시줄 표시(&A)"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "상태 표시줄 표시 또는 숨기기"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "전체 화면 모드(&U)"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "키보드 단축키 설정(&H)…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "%1 설정(&C)…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "도구 모음 설정(&B)…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "알림 설정(&N)…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 도움말(&H)"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "이것에 대한 설명(&T)"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "버그 보고(&R)…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "언어 설정(&L)…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "%1 정보(&A)"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "KDE 정보(&K)"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "삭제(&D)"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "이름 바꾸기(&R)…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "휴지통으로 이동(&M)"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "기부하기(&D)"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "메뉴 열기(&M)"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "열기"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "새로 만들기"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "닫기"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "저장"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "인쇄"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "끝내기"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "실행 취소"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "다시 실행"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "잘라내기"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "복사"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "붙여넣기"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "선택 붙여넣기"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "모두 선택"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "선택 해제"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "이전 단어 삭제"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "다음 단어 삭제"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "찾기"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "다음 찾기"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "이전 찾기"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "바꾸기"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "홈"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "시작"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "끝"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "이전"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "다음"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "위로"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "뒤로"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "앞으로"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "새로 고침"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "줄 시작"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "줄 끝"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "줄로 이동"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "이전 단어"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "다음 단어"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "책갈피 추가"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "확대"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "축소"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "전체 화면 모드"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "메뉴 표시줄 표시"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "다음 탭 활성화"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "이전 탭 활성화"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "도움말"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "이것에 대한 설명"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "텍스트 완성"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "이전 완성 일치"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "다음 완성 일치"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "하위 문자열 완성"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "목록의 이전 항목"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "목록의 다음 항목"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "최근 항목 열기"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "다른 이름으로 저장"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "되돌리기"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "인쇄 미리 보기"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "메일"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "지우기"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "실제 크기로 조정"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "쪽 맞춤"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "폭 맞춤"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "높이 맞춤"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "확대/축소"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "이동"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "쪽으로 이동"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "문서 뒤로"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "문서 앞으로"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "책갈피 편집"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "맞춤법 검사"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "도구 모음 표시"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "상태 표시줄 표시"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "키 바인딩"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "앱 설정"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "도구 모음 설정"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "알림 설정"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "버그 보고"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "언어 설정…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "앱 정보"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "KDE 정보"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "삭제"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "이름 바꾸기"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "휴지통으로 이동"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "기부하기"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "숨김 파일 표시/숨기기"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "폴더 만들기"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "주 메뉴 열기"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "상황에 맞는 메뉴 열기"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "사용자 설정 파일을 업데이트하는 KDE 도구"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "스크립트 출력 결과 저장"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"단위 테스트 전용입니다. 완료된 항목을 기록하지 않으며 재실행 시 매번 스크립트"
+"를 다시 실행함"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "설정 파일이 업데이트가 필요한 지 여부 확인"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "업데이트 동작을 읽을 파일"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "파일을 생성할 디렉터리 [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "디렉터리"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "소프트웨어 라이선스를 표시합니다."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "전역 설정 대신 <file> 사용하기"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"찾아볼 그룹. 루트 그룹을 지정하려면 \"<default>\", 그룹 안의 그룹에서는 재귀"
+"적으로 사용하십시오."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "찾을 키"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "기본값"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "변수 형식"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"그룹 이름은 비어 있을 수 없습니다. 루트 그룹을 지정하려면 \"<default>\"를 사"
+"용하십시오"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"변수의 형식입니다. 참/거짓에 대해서는 \"bool\"을 사용해야 하며, 그렇지 않으"
+"면 문자열로 취급합니다"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "활성화된 경우 지정한 키 삭제"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"기록할 값입니다. 필수적이며, 셸에서 빈 값을 사용하려면 ''을 사용하십시오"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "오늘의 팁"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "유닛 테스트 전용: 사용자의 실제 파일에 접근하지 않도록 테스트 디렉터리 사"
+#~ "용"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "저장 옵션"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "프로그램 언어 변경"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "설정"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "KConfig 항목을 작성합니다 - 셸 스크립트에 사용합니다"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "기반이 되는 kreadconfig을 작성했습니다"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# translation of kwriteconfig.po to Kurdish
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Erdal Ronahi <erdal.ronahi@nospam.gmail.com>, 2007, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2009-01-03 06:30+0200\n"
+"Last-Translator: Omer Ensari <oensari@gmail.com>\n"
+"Language-Team: Kurdish <ku@li.org>\n"
+"Language: ku\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Poedit-Language: Kurdish\n"
+"X-Poedit-SourceCharset: utf8\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Şûna veavakirina giştî <file> bi kar bîne"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Kom ji bo nêrînê. Ji bo komên hertim xera dibin bi kar bîne."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Mifte ji bo nêrînê"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Teşeyê nirxandinê. Ji bo boolean \"bool\" bi kar bîne, wekî din ev tê mîna "
+"hevok bê nasîn"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Nirx ji bo nivîsînê. Pêwist e, di termînal de ji bo yê vala \" bi kar bîne "
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Têketinên KConfig binivîse - ji bo bi kar anîna skrîptên shell"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "kreadconfig di bingeha vê de nivîsî"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# translation of kwriteconfig.po to Luxembourgish
+# Michel Ludwig <michel.ludwig@kdemail.net>, 2005.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2005-12-24 11:51+0100\n"
+"Last-Translator: Michel Ludwig <michel.ludwig@kdemail.net>\n"
+"Language-Team: Luxembourgish <kde-i18n-lb@kde.org>\n"
+"Language: lb\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Grupp an där gekuckt soll ginn"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Grupp an där gekuckt soll ginn"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Grupp an där gekuckt soll ginn"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Grupp an där gekuckt soll ginn"
+
+#: gui/kstandardshortcut.cpp:213
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Grupp an där gekuckt soll ginn"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Benotz <file> amplaz vun der globaler Configuratiounsdatei"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Schlëssel no deem gesicht soll ginn"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Typ vun der Variabel. Benotzt \"bool\" fir de Boolschen Typ, anerefalls gëtt "
+"se als eng Zeechekette behandelt"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"De Wäert dee geschriwwe soll ginn, obligatoresch. Bei enger Shell benotzt \" "
+"fir en eidele Wäert unzeginn"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Schreift KConfig-Entréen - zur Benotzung a Shellskripter"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Michel Ludwig"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "michel.ludwig@kdemail.net"
--- /dev/null
+# translation of kwriteconfig.po to
+# Donatas Glodenis <dgvirtual@akl.lt>, 2005.
+# Liudas Ališauskas <liudas@aksioma.lt>, 2014.
+# Mindaugas Baranauskas <opensuse.lietuviu.kalba@gmail.com>, 2016, 2019.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-07-10 03:03+0300\n"
+"Last-Translator: Moo\n"
+"Language-Team: Lithuanian <kde-i18n-lt@kde.org>\n"
+"Language: lt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10>=2 && (n%100<10 || n"
+"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3);\n"
+"X-Qt-Contexts: true\n"
+"X-Generator: Poedit 3.4.2\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Susisiekite su sistemos administratoriumi."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Konfigūracijos failas „%1“ nėra skirtas rašymui.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Numatytasis"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Atgal"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Pirmyn"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Pradinis puslapis"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Naujas"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Sukurti naują dokumentą"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "At&verti…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Atverti esamą dokumentą"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Atverti &paskiausiai naudotą"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Atverti paskiausiai atvertą dokumentą"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Į&rašyti"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Įrašyti dokumentą"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Įrašyti &kaip…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Įrašyti dokumentą nauju pavadinimu"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Su&grąžinti"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Sugrąžinti neįrašytus dokumente atliktus pakeitimus"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Užverti"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Užverti dokumentą"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "S&pausdinti…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Spausdinti dokumentą"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "&Spaudinio peržiūra"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Rodyti dokumento spaudinio peržiūrą"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Siųsti paštu…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Siųsti dokumentą paštu"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Išjungti"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Išjungti programą"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Atšaukti"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Atšaukti paskutinį veiksmą"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "G&rąžinti"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Grąžinti paskutinį atšauktą veiksmą"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Iškirp&ti"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Iškirpti žymėjimą į iškarpinę"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Kopijuoti"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Kopijuoti žymėjimą į iškarpinę"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Į&dėti"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Įdėti iškarpinės turinį"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Išva&lyti"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Pažymėti &viską"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "&Panaikinti žymėjimą"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Ieškoti…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Ieškoti &kito"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Ieškoti &ankstesnio"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Pa&keisti…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Keisti mastelį į &faktinį dydį"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Rodyti dokumentą faktiniu dydžiu"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Talpinti į puslapį"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Mastelis toks, kad puslapis tilptų lange"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Talpinti į puslapio &plotį"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Mastelis toks, kad puslapio plotis tilptų lange"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Talpinti į puslapio &aukštį"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Mastelis toks, kad puslapio aukštis tilptų lange"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "D&idinti"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "&Mažinti"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Mastelis…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Pasirinkite mastelio lygį"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "Į&kelti iš naujo"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Įkelti dokumentą iš naujo"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Aukštyn"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Eiti aukštyn"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "Ankstesnis &puslapis"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Peršokti į ankstesnį puslapį"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Kitas puslapis"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Peršokti į kitą puslapį"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Eiti į…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Eiti į puslapį…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Eiti į eilutę…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Pirmas puslapis"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Peršokti į pirmą puslapį"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "P&askutinis puslapis"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Peršokti į paskutinį puslapį"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Atgal"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Eiti dokumente atgal"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Pirmyn"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Eiti dokumente pirmyn"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Pridėti žymelę"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Taisyti žymeles…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Rašybos tikrinimas…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Tikrinti rašybą dokumente"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Rodyti &meniu juostą"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Rodyti arba slėpti meniu juostą"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Rodyti į&rankių juostą"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Rodyti arba slėpti įrankių juostą"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Rodyti &būsenos juostą"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Rodyti arba slėpti būsenos juostą"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Rodyti &visame ekrane"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Konfigūruoti &sparčiuosius klavišus…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Konfigūruoti %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Konfigūruoti įrankių &juostas…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Konfigūruoti pra&nešimus…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 &vadovas"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Kas &tai yra?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "P&ranešti apie programos klaidą…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Konfigūruoti ka&lbą…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Apie %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Apie &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Iš&trinti"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Pe&rvadinti…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Per&kelti į šiukšlinę"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Pa&remti"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Atverti &meniu"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Atverti"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Naujas"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Užverti"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Įrašyti"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Spausdinti"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Išeiti"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Atšaukti"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Grąžinti"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Iškirpti"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopijuoti"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Įdėti"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Įdėti žymėjimą"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Pažymėti viską"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Nuimti žymėjimą"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Ištrinti žodį atgal"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Ištrinti žodį pirmyn"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Rasti"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Rasti kitą"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Rasti ankstesnį"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Pakeisti"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Į pradžią"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Pradžia"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Pabaiga"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Ankstesnis"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Kitas"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Aukštyn"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Atgal"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Pirmyn"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Įkelti iš naujo"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Eilutės pradžia"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Eilutės pabaiga"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Eiti į eilutę"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Žodis atgal"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Žodis pirmyn"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Pridėti žymelę"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Didinti"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Mažinti"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Viso ekrano veiksena"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Rodyti meniu juostą"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktyvuoti kitą kortelę"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktyvuoti ankstesnę kortelę"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Pagalba"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Kas tai"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Teksto baigimas"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Ankstesnis baigimo atitikmuo"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Kitas baigimo atitikmuo"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Poeilučio baigimas"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Ankstesnis elementas sąraše"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Kitas elementas sąraše"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Atverti paskiausiai naudotą"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Įrašyti kaip"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Sugrąžinti"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Spaudinio peržiūra"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Paštas"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Išvalyti"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Keisti mastelį į faktinį dydį"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Talpinti į puslapį"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Talpinti į puslapio plotį"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Talpinti į puslapio aukštį"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Mastelis"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Eiti į"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Eiti į puslapį"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dokumentas atgal"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dokumentas pirmyn"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Taisyti žymeles"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Rašyba"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Rodyti įrankių juostą"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Rodyti būsenos juostą"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Klavišų susiejimai"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Konfigūruoti programą"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Konfigūruoti įrankių juostas"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Konfigūruoti pranešimus"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Pranešti apie klaidą"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Konfigūruoti kalbą…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Apie programą"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Apie KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Ištrinti"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Pervadinti"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Perkelti į šiukšlinę"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Paremti"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Rodyti/Slėpti paslėptus failus"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Sukurti aplanką"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Atverti pagrindinį meniu"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Atverti kontekstinį meniu"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE įrankis, skirtas atnaujinti naudotojo konfigūracijos failus"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Saugoti išvesties rezultatus nuo scenarijų"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Tik vienetų išbandymams: nerašyti atliktus įrašus, kad tokiu būdu su "
+"kiekvienu paleidimu iš naujo, scenarijai būtų vėl vykdomi"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Tikrinti, ar pačiam konfigūracijos failui reikia atnaujinimo"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Failas(-ai) iš kurio skaityti atnaujinimo instrukcijas"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Katalogas, į kurį generuoti failus [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "katalogas"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Rodyti programinės įrangos licenciją."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Naudoti <file> vietoje visuotines konfigūracijos"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Grupė, kurioje ieškoti. Naudokite „<default>“ šaknies grupei arba naudokite "
+"pakartotinai kelis kartus įdėtinėms grupėms."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Raktas, kurio ieškoti"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Numatytoji reikšmė"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Kintamojo tipas"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Grupės pavadinimas negali būti tuščias, šaknies grupei naudokite „<default>“"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Kintamojo tipas. Naudokite „bool“ loginiam tipui, priešingu atveju su juo "
+"bus elgiamasi kaip su eilute"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Jei įjungta, ištrinti paskirtąjį klavišą"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Reikšmė, kurią įrašyti. Privaloma, apvalkale naudokite '' jei tuščia"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Dienos patarimas"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Tik įtaisų testavimams: naudokite testavimo katalogus, kad laikytumėtės "
+#~ "atokiau nuo tikrų naudotojo failų"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Įrašyti parinktis"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Pakeisti programos kalbą"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Nuostatos"
--- /dev/null
+# translation of kwriteconfig.po to Latvian
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Aleksejs Zosims <locale@aleksejs.id.lv>, 2007.
+# Maris Nartiss <maris.kde@gmail.com>, 2007, 2008.
+# SPDX-FileCopyrightText: 2024 Toms Trasuns <toms.trasuns@posteo.net>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-28 13:36+0300\n"
+"Last-Translator: Toms Trasuns <toms.trasuns@posteo.net>\n"
+"Language-Team: Latvian <kde-i18n-doc@kde.org>\n"
+"Language: lv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 24.02.2\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
+"2);\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Lūdzu, sazinieties ar savu sistēmas administratoru."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Konfigurācijas datne „%1“ nav rakstāma.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Noklusējums"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Atpakaļ"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Uz priekšu"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Mājas"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Jauns"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Izveidot jaunu dokumentu"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "A&tvērt…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Atvērt pastāvošu dokumentu"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Atvērt &pastāvošu"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Atvērt dokumentu, kas jau nesen bija atvērts"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Saglabāt"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Saglabāt dokumentu"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Saglabāt &kā…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Saglabāt dokumentu ar citu nosaukumu"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "At&saukt"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Atsaukt nesaglabātās dokumenta izmaiņas"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Aizvērt"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Aizvērt dokumentu"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Drukāt..."
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Drukāt dokumentu"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Drukas priekš&skatījums"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Rādīt, kā izskatīsies izdrukāts dokuments"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Pasts…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Nosūtīt dokumentu pa pastu"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Iziet"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Iziet no programmas"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Atsaukt"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Atsaukt pēdējo darbību"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "A&tatsaukt"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Atatsaukt pēdējo atsaukto darbību"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "I&zgreizt"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Izgriezt atlasi un ievietot starpliktuvē"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Kopēt"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Kopēt atlasi uz starpliktuvi"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Ielīmēt"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Ielīmēt starpliktuves saturu"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "N&otīrīt"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Atlasīt &visu"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "&Noņemt atlasi"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Meklēt…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Atrast &nākamo"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Atrast &iepriekšējo"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Aizvietot…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Tuvināt līdz &faktiskajam izmēram"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Skatīt dokumentu tā faktiskajā izmērā"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Ietilpināt lapu"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Tuvināt, lai logā ietilpinātu lapu"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Ietilpināt lapu &platumā"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Tuvināt, lai logā ietilpinātu lapas platumu"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Ietilpināt lapas &augstumu"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Tuvināt, lai logā ietilpinātu lapas augstumu"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "&Tuvināt"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Tā&lināt"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Tālummaiņa…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Atlasīt tālummaiņas līmeni"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Pārlādēt"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Pārlādēt dokumentu"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Augšup"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Iet augšup"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Iepriekšējā lapa"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Iet uz iepriekšējo lapu"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Nākamā lapa"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Iet uz nākamo lapu"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Iet uz…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Iet uz lapu…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Iet uz rindu…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Pirmā lapa"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Iet uz pirmo lapu"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Pēdējā lapa"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Iet uz pēdējo lapu"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Atpakaļ"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Iet atpakaļ dokumentā"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Uz priekšu"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Iet uz priekšu dokumentā"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Pievienot grāmatzīmi"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Rediģēt grāmatzīmes..."
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Pareizrakstība…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Pārbaudīt dokumentā pareizrakstību"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Rādīt &izvēļņu joslu"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Rādīt vai paslēpt izvēļņu joslu"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Rādīt &rīkjoslu"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Rādīt vai slēpt rīkjoslu"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Rādīt s&tatusa joslu"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Rādīt vai slēpt statusa joslu"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Pilnekrāna &režīms"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Konfigurēt &tastatūras saīsnes…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Konfigurēt „%1“…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Konfigurēt rīk&joslas..."
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Konfigurēt &paziņojumus…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 &rokasgrāmata"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Kas &tas ir?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Ziņot par kļūdu..."
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Konfigurēt &valodu…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Par „%1“"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Par &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Dzēst"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Pārdēvēt…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Pārvietot &uz atkritni"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Zie&dot"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Atvērt &izvēlni"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Atvērt"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Jauns"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Aizvērt"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Saglabāt"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Drukāt"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Iziet"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Atsaukt"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Atatsaukt"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Izgriezt"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopēt"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Ielīmēt"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Ielīmēt atlasi"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Atlasīt visu"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Noņemt atlasi"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Dzēst vārdu uz aizmuguri"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Dzēst vārdu uz priekšu"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Atrast"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Atrast nākamo"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Atrast iepriekšējo"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Aizvietot"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Mājas"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Sākt"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Beigt"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Iepriekšējais"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Nākamais"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Augšup"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Atpakaļ"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Uz priekšu"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Pārlādēt"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Rindas sākums"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Rindas beigas"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Iet uz rindu"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Atpakaļ vārds"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Uz priekšu vārds"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Pievienot grāmatzīmi"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Tuvināt"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Tālināt"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Pilnekrāna režīms"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Rādīt izvēļņu joslu"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktivizēt jaunu cilni"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktivizēt iepriekšējo cilni"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Palīdzība"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Kas tas ir"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Teksta pabeigšana"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Iepriekšējā pabeigšanas atbilsme"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Nākamā pabeigšanas atbilsme"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Apakšvirknes pabeigšana"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Iepriekšējais vienums sarakstā"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Nākamais vienums sarakstā"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Atvērt neseno"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Saglabāt kā"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Atsaukt"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Drukas priekšiestatījums"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Pasts"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Notīrīt"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Tuvināt līdz faktiskajam izmēram"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Ietilpināt lapu"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Ietilpināt platumā"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Ietilpināt augstumā"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Tālummaiņa"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Iet uz"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Iet uz lapu"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dokuments atpakaļ"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dokuments uz priekšu"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Rediģēt grāmatzīmes"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Pareizrakstība"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Rādīt rīkjoslu"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Rādīt statusa joslu"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Tastatūras saīsinājumi"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Konfigurēt programmu"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Konfigurēt rīkjoslas"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Konfigurēt paziņojumus"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Ziņot par kļūdu"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Konfigurēt valodu…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Par programmu"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Par KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Dzēst"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Pārdēvēt"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Pārvietot uz atkritni"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Ziedot"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Rādīt/slēpt slēptas datnes"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Izveidot mapi"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Atvērt galveno izvēlni"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Atvērt konteksta izvēlni"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE rīkos lietotāja konfigurācijas datņu atjaunināšanai"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Paturēt skriptu izvades rezultātus"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Tikai vienību testiem: nerakstīt pabeigtos ierakstus, lai ar katru atkārtotu "
+"palaišanu, skripti tiktu izpildīti no jauna"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Pārbaudīt, vai konfigurācijas datnei pašai nepieciešams atjauninājums"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Datne(-es), no kura(-ām) nolasīt atjauninājuma instrukcijas"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Mape, kurā ģenerēt datnes [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "mape"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Parādīt programmatūras licenci."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Lietot <file> globālās konfigurācijas vietā"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Grupa, kurā ielūkoties. Izmantojiet „<default>“ saknes grupai vai "
+"izmantojiet atkārtoti iegultām grupām."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Meklējamā atslēga"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Noklusējuma vērtība"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Mainīgā tips"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Grupas nosaukums nevar būt tukšs. Saknes grupai izmantojiet „<default>“."
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Mainīgā tips. Lietojiet „bool“ loģiskajiem mainīgajiem, citādi tie tiek "
+"uztverti kā rindiņas mainīgie"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Ja ieslēgts dzēst paredzēto atslēgu"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Vērtība, ko rakstīt. Obligāta, čaulā izmantojiet '', ja vajag tukšu vērtību."
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Rakstiet KConfig ierakstus izmantošanai čaulas skriptos"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luiss Pedro Koeljū (Luís Pedro Coelho)"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Uzrakstīja kreadconfig, uz kā viss šis balstās"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luiss Pedro Koeljū (Luís Pedro Coelho)"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhards Rozenkrencers (Bernhard Rosenkraenzer)"
--- /dev/null
+# translation of kwriteconfig.po to maithili
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Sangeeta Kumari <sangeeta09@gmail.com>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2009-01-12 20:08+0530\n"
+"Last-Translator: \n"
+"Language-Team: maithili <en@li.org>\n"
+"Language: mai\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "इस्तेमाल करू <file> बजाए वैश्विक कान्फिग केर"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "कुँजी जकरा देखल जएनाइ अछि"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"चर क' प्रकार. इस्तेमाल करू \"bool\" बूलिये केर लेल, अन्यथा ई एकटा स्ट्रिंग जहिना बुझल "
+"जएताह"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "मूल्य जे लिखल जएनाइ अछि. अनिवार्य, शेलमे खाली क' लेल इस्तेमाल करू '' क'"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "राइट के-कान्फिग प्रविष्टि - शेल स्क्रिप्ट केर उपयोगमे"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 रेड हैट इंक. तथा लुइस पेद्रो कोएल्हो"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "केडीईकान्फिग लिखलक जकरा पर ई आधारित अछि"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "लुइस पेद्रो कोएल्हो"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "बर्नहार्ड रोजेनक्रेन्जेर"
--- /dev/null
+# Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
+# Bozidar Proevski <bobibobi@freemail.com.mk>, 2004, 2007, 2008.
+# translation of kwriteconfig.po to Macedonian
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2008-07-08 11:36+0200\n"
+"Last-Translator: Bozidar Proevski <bobibobi@freemail.com.mk>\n"
+"Language-Team: Macedonian <mkde-l10n@lists.sourceforge.net>\n"
+"Language: mk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: Plural-Forms: nplurals=3; plural=n%10==1 ? 0 : n%10==2 ? 1 : "
+"2;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Користи <датотека> наместо глобалната конфигурација"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Група кај што ќе се бара. Повторувајте за вгнездени групи."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Клуч кој се бара"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Тип на променлива. Користете „bool“ за логичка, инаку ќе биде земена како "
+"низа"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Вредноста за запис. Задолжително, во школка користете '' за празно"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Запиши ги ставките од KConfig - за користење во скрипти за школка"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. и Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Го напиша kreadconfig врз кој е базирано ова"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# translation of kwriteconfig.po to
+# Copyright (C) 2008 This_file_is_part_of_KDE
+# This file is distributed under the same license as the kdebase package.
+# ANI PETER|അനി പീറ്റര് <peter.ani@gmail.com>, 2008.
+# Hari|ഹരി Vishnu | വിഷ്ണു <harivishnu@gmail.com>, 2008.
+# Praveen Arimbrathodiyil <pravi.a@gmail.com>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: kdebase\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2008-11-29 01:50-0800\n"
+"Last-Translator: Praveen Arimbrathodiyil <pravi.a@gmail.com>\n"
+"Language-Team: SMC <smc.org.in>\n"
+"Language: ml\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "ഗ്ലോബല് കോണ്ഫിഗിനു് പകരം <file> ഉപയോഗിക്കുക"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "ഉള്ളില് തിരയേണ്ട കൂട്ടങ്ങള്. നെസ്ടഡ് കൂട്ടങ്ങള്ക്കായ് വീണ്ടും വീണ്ടും ഉപയോഗിക്കുക."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "തിരയേണ്ട സൂചന"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"വേരിയബിള് തരം. ബൂലിയെന് ആണെങ്കില് \"bool\" ഉപയോഗിക്കുക, അല്ലെങ്കില് അതൊരു സ്ട്രിങ്ങ് ആയി "
+"എടുക്കപെടും"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "എഴുതേണ്ട വില (അക്കം). നിര്ബന്ധമാണു്, ഷെല്ലില് ശൂന്യത്തിനു് '' ഉപയോഗിയ്ക്കുക"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "കെ-കോണ്ഫിഗ് എണ്ട്രികള് എഴുതുക - ഷെല് സ്ക്രിപ്ടുകളില് ഉപയോഗിക്കാനായ്"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 റെഡ് ഹാറ്റ്, ഇന്കും ലൂയി പെഡ്രോ കോലോയും"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "ഇതു അടിസ്ഥാനപെടുത്തുന്ന കെ-റീഡ്-കോണ്ഫിഗ് എഴുതി"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "ലൂയി പെഡ്രോ കോലോ"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "ബെര്നാഡ് റോസന്ക്രെന്സര്"
--- /dev/null
+# translation of kwriteconfig.po to marathi
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Sandeep Shedmake <sandeep.shedmake@gmail.com>, 2009.
+# Chetan Khona <chetan@kompkin.com>, 2012, 2013.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2013-02-18 13:00+0530\n"
+"Last-Translator: Chetan Khona <chetan@kompkin.com>\n"
+"Language-Team: Marathi <kde-i18n-doc@kde.org>\n"
+"Language: mr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.5\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "जागतिक संयोजना ऐवजी <file> चा वापर करा"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "शोधण्याचा समूह. आंतरीक समूह करिता पुन्हा पुन्हा वापरा."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "शोधण्याची कळ"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"परिवर्तनीयाचा प्रकार. boolean प्रकार असल्यास \"bool\" वापरा, अन्यथा string प्रकार "
+"गृहीत धरला जाईल."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "लिहिण्याकरिताचे पाठ्य. दाखल करणे अनिवार्य. रिकामे असल्यास '' वापरा."
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "KConfig नोंद लिहा - शेल स्क्रिप्ट्स मध्ये वापरासाठी"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "ज्यावर हे आधारित आहे ते kreadconfig लिहीले"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# kwriteconfig Bahasa Melayu (Malay) (ms)
+# Copyright (C) K Desktop Environment
+#
+# Muhammad Najmi bin Ahmad Zabidi <md_najmi@yahoo.com>, 2003.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2004, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2008-08-28 00:17+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"Language-Team: Malay <kedidiemas@yahoogroups.com>\n"
+"Language: ms\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Guna <file> dan bukan tetapan global"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Kumpulan untuk dicari. Guna berulang untuk kumpulan bersarang."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Kekunci untuk carian"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Jenis pembolehubah. Guna \"bool\" untuk boolean, jika tidak cara "
+"pengendalian akan menggunakan rentetan (string)"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Nilai untuk ditulis. Wajib, pada shell gunakan '' untuk kosong"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Tulis input KConfig -- untuk kegunaan skrip cengkerang"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Menulis kreadconfig dimana ini diasaskan"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# Translation of kconfig6_qt to Norwegian Bokmål
+#
+# Knut Yrvin <knut.yrvin@gmail.com>, 2003.
+# Bjørn Kvisli <bjorn.kvisli@gmail.com>, 2007.
+# Bjørn Steensrud <bjornst@skogkatt.homelinux.org>, 2008, 2014.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2014-09-25 18:02+0200\n"
+"Last-Translator: Bjørn Steensrud <bjornst@skogkatt.homelinux.org>\n"
+"Language-Team: Norwegian Bokmål <l10n-no@lister.huftis.org>\n"
+"Language: nb\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.5\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Environment: kde\n"
+"X-Accelerator-Marker: &\n"
+"X-Text-Markup: qtrich\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Kontakt systemadministratoren din."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Oppsettsfila «%1» er ikke skrivbar.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Standard"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Tilbake"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Forover"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Hjem"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Åpne"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Åpne nylig brukt"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Lagre"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Lagre som"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Tilbakestill"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Lukk"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Skriv ut"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Forhåndsvisning av utskrift"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "E-post"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Avslutt"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Om programmet"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Angre"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Kopier"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Lim inn"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Tøm"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Velg alt"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Fravelg"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Finn"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Finn neste"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Finn forrige"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Erstatt"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Tilpass til side"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Tilpass til bredden"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Tilpass til høyden"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Forstørr"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Forminsk"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Forstørre/-minske"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Velg alt"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Opp"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Gå til side"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Gå til linje"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Gå til side"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Gå til linje"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Tilpass til side"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Gå til linje"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Gå til side"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Tilbake"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Forover"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Legg til bokmerke"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Rediger bokmerker"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Stavekontroll"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Vis menylinje"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Vis menylinje"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Vis verktøylinje"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Vis verktøylinje"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Vis statuslinja"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Vis statuslinja"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Fullskjermskjøring"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Sett opp verktøylinjer"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Sett opp varslinger"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Hva er dette"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Rapporter feil"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Om KDE"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Om KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Åpne nylig brukt"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Åpne"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Ny"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Lukk"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Lagre"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Skriv ut"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Avslutt"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Angre"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Gjør om"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Klipp ut"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopier"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Lim inn"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Lim inn utvalg"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Velg alt"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Fravelg"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Slett ord bakover"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Slett ord framover"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Finn"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Finn neste"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Finn forrige"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Erstatt"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Hjem"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Begynnelse"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Slutt"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Forrige"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Neste"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Opp"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Tilbake"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Forover"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Last på nytt"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Begynnelsen av linja"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Slutten på linja"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Gå til linje"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Et ord bakover"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Et ord forover"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Legg til bokmerke"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Forstørr"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Forminsk"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Fullskjermskjøring"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Vis menylinje"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Gå til neste fane"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Gå til forrige fane"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Hjelp"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Hva er dette"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Tekstfullføring"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Forrige fullføringstreff"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Neste fullføringstreff"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Delstrengfullføring"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Forrige element i lista"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Neste element i lista"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Åpne nylig brukt"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Lagre som"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Tilbakestill"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Forhåndsvisning av utskrift"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "E-post"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Tøm"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Tilpass til side"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Tilpass til bredden"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Tilpass til høyden"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Forstørre/-minske"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Gå til"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Gå til side"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dokument bakover"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dokument forover"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Rediger bokmerker"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Stavekontroll"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Vis verktøylinje"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Vis statuslinja"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Tastebindinger"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Sett opp verktøylinjer"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Sett opp varslinger"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Rapporter feil"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Om programmet"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Om KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE-verktøy for å oppdatere brukerens oppsettsfiler"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Behold sluttresultatet fra skript"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Sjekk om oppsettsfila selv trenger oppdatering"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Mappe der filer skal genereres [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "mappe"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Vis programvarelisens."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Bruk <fil> istedenfor globalt oppsett"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Nøkkel å se etter"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Standardverdi"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Variabeltype"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Variabeltype. Bruk \"bool\" for bolske verdier, ellers blir det behandlet "
+"som en tekststreng"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Verdien som skal skrives. Obligatorisk, i et skall må du bruke '' for tomme "
+"verdier"
--- /dev/null
+# Sönke Dibbern <s_dibbern@web.de>, 2014.
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2014-08-13 00:11+0200\n"
+"Last-Translator: Sönke Dibbern <s_dibbern@web.de>\n"
+"Language-Team: Low Saxon <kde-i18n-nds@kde.org>\n"
+"Language: nds\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Lokalize 1.5\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Snack bitte Dien Systeempleger an."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "De Instellen-Datei „%1“ lett sik nich schrieven.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Standard"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Torüch"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Vörut"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Tohuus"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Opmaken"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Verleden opmaken"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Sekern"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Sekern as"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Torüchdreihen"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Tomaken"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Drucken"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Druckvöransicht"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Nettpost"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Utmaken"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Wat över't Programm vertellen"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Torüchnehmen"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Koperen"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Infögen"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Leddig maken"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "All utsöken"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Köör torüchnehmen"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Söken"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Nakamen söken"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Verleden söken"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Utwesseln"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Redig Grött"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Op Siet topassen"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Op Breed topassen"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Op Hööchde topassen"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Grötter maken"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Lütter maken"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Ansichtgrött"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "All utsöken"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Na baven"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Na Siet gahn"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Na Reeg gahn"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Na Siet gahn"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Na Reeg gahn"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Op Siet topassen"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Na Reeg gahn"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Na Siet gahn"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Torüch"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Vörut"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Leesteken tofögen"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Leestekens bewerken"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Klookschriever"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Menübalken wiesen"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Menübalken wiesen"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Warktüüchbalken wiesen"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Warktüüchbalken wiesen"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Statusbalken wiesen"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Statusbalken wiesen"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Heelschirmbedrief"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Warktüüchbalkens instellen"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Bescheden instellen"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Wat is dat"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Fehler künnig maken"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Över KDE"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Över KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Verleden opmaken"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Opmaken"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nieg"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Tomaken"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Sekern"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Drucken"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Utmaken"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Torüchnehmen"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Wedderhalen"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Knippen"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Koperen"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Infögen"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Köör infögen"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "All utsöken"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Köör torüchnehmen"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Verleden Woort wegdoon"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Nakamen Woort wegdoon"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Söken"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Nakamen söken"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Verleden söken"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Utwesseln"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Tohuus"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Anfang"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Enn"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Verleden"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Nakamen"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Na baven"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Torüch"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Vörut"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Nieg laden"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Reeganfang"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Reegenn"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Na Reeg gahn"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Een Woort torüch"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Een Woort vörut"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Leesteken tofögen"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Grötter maken"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Lütter maken"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Heelschirmbedrief"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Menübalken wiesen"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Nakamen Paneel anmaken"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Verleden Paneel anmaken"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Hülp"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Wat is dat"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Text kompletteren"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Verleden Kompletteren"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Nakamen Kompletteren"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Ünnertext kompletteren"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Verleden Listindrag"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Nakamen Listindrag"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Verleden opmaken"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Sekern as"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Torüchdreihen"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Druckvöransicht"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Nettpost"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Leddig maken"
+
+#: gui/kstandardshortcut.cpp:343
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Redig Grött"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Op Siet topassen"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Op Breed topassen"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Op Hööchde topassen"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Ansichtgrött"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Gahn"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Na Siet gahn"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dokment torüch"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dokment vörut"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Leestekens bewerken"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Klookschriever"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Warktüüchbalken wiesen"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Statusbalken wiesen"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Tasttoornen"
+
+#: gui/kstandardshortcut.cpp:392
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Bescheden instellen"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Warktüüchbalkens instellen"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Bescheden instellen"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Fehler künnig maken"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Wat över't Programm vertellen"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Över KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE-Warktüüch för't Opfrischen vun Bruker-Instellendateien"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Skriptutgaven wohren"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Kiek bitte na, wat de Instellendatei sülven opfrischt warrn mutt"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Orner, binnen den Dateien opstellt warrt [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "Orner"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Verlööfnis wiesen"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "<Datei> ansteed de globalen Instellen bruken"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgctxt "main|"
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Koppel, binnen den Du kieken wullt. Bi inbett Koppeln mehrmaalig bruken."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Slötel, de söcht warrt"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Standardweert"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Typ vun de Variable"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Typ vun de Variable. Bruuk „bool“ för'n boolsche, anners warrt se as en "
+"Tekenkeed behannelt"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"De Weert, den Du schrieven wullt. Mutt angeven warrn. Op'n Konsool tweemaal "
+"Apostrof ('') bruken, wenn Du en leddig Weert angeven wullt."
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Tipp för Vundaag"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Instellen sekern"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Programmspraak wesseln"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Instellen"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "KConfig-Indrääg schrieven - för Bruuk in Befehlsreegskripten"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "© 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Hett kreadconfig schreven, wat de Grundlaag för dit Programm weer"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# translation of kwriteconfig.po to Nepali
+# Nabin Gautam <nabin@mpp.org.np>, 2006, 2007.
+# Kapil Timilsina <lipak21@gmail.com>, 2006.
+# Mahesh Subedi <submanesh@gmail.com>, 2007.
+# shyam krishna bal <shyamkrishna_bal@yahoo.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2007-08-20 11:57+0545\n"
+"Last-Translator: Nabin Gautam <nabin@mpp.org.np>\n"
+"Language-Team: Nepali <info@mpp.org.np>\n"
+"Language: ne\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n !=1\n"
+"X-Generator: KBabel 1.11.4\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "खोजीका लागि समूह"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "खोजीका लागि समूह"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "खोजीका लागि समूह"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "खोजीका लागि समूह"
+
+#: gui/kstandardshortcut.cpp:213
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "खोजीका लागि समूह"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "विश्वव्यापी कन्फिगको सट्टा <file> प्रयोग गर्नुहोस्"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "खोजीका लागि कुञ्जी"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"चलको प्रकार । बुलियनका लागि \"bool\" प्रयोग गर्नुहोस् अन्यथा यसलाई स्ट्रिङको रूपमा "
+"व्यवहार गरिन्छ ।"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "लेख्ने मान । रित्तोका लागि '' शेल प्रयोगमा अनिवार्य"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "शेल स्क्रिप्ट प्रयोग गर्नका लागि केडीई कन्फिग प्रविष्टि लेख्नुहोस्"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 रेड ह्याट, संस्था र लुइस पेड्रो कोइलहो"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "यसमा आधारित केडीई पढ्ने कन्फिग लेखियो"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "लुइस पेड्रो कोइलहो"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "बर्नान्ड रोजेनक्राएन्जर"
--- /dev/null
+# SPDX-FileCopyrightText: 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Freek de Kruijf <freekdekruijf@kde.nl>
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"PO-Revision-Date: 2024-05-22 13:48+0200\n"
+"Last-Translator: Freek de Kruijf <freekdekruijf@kde.nl>\n"
+"Language-Team: \n"
+"Language: nl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Qt-Contexts: true\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Lokalize 24.02.2\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Neem contact op met uw systeembeheerder."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Configuratiebestand \"%1\" is niet schrijfbaar.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Standaard"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Terug"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Vooruit"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Home"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Nieuw"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Nieuw document aanmaken"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Openen…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Open een bestaand document"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "&Recent openen"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Een recent geopend document openen"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Op&slaan"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Document opslaan"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Opslaan &als…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Document opslaan onder een nieuwe naam"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Beginwaar&de"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Niet opslagen wijzigingen in document terugdraaien"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Sl&uiten"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Document sluiten"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Afdrukken…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Document afdrukken"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Afdruk&voorbeeld"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Een afdrukvoorbeeld van het document tonen"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&E-mail…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Document per e-mail verzenden"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "A&fsluiten"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Toepassing afsluiten"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Ongedaan maken"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Laatste actie ongedaan maken"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Opnie&uw"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Laatste ongedaan gemaakte actie opnieuw uitvoeren"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Kni&ppen"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Selectie knippen naar het klembord "
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Kopiëren"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Selectie kopiëren naar het klembord"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "P&lakken"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Inhoud klembord plakken"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "W&issen"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "&Alles selecteren"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Dese&lecteren"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Zoeken…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Vol&gende zoeken"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Vo&rige zoeken"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Ve&rvangen…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Zoomen naar &actuele grootte"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Document in zijn actuele grootte bekijken"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Passend in pagina"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Zoomen naar passend maken in het venster"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Passend in pagina&breedte"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Zoomen naar breedte passend maken in het venster"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Passend in pagina&hoogte"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Zoomen naar hoogte passend maken in het venster"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "&Inzoomen"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "&Uitzoomen"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Zoomen…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Zoomniveau selecteren"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "Ve&rnieuwen"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Document vernieuwen"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Omhoog"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Omhoog"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Vorige pagina"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Naar vorige pagina gaan"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "V&olgende pagina"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Naar volgende pagina gaan"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Ga naar…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Ga naar pagina…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Ga naar regel…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Eerste pagina"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Naar eerste pagina gaan"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Laatste pagina"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Naar laatste pagina gaan"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Terug"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Terug gaan in het document"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Vooruit"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Vooruit gaan in het document"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Bladwijzer &toevoegen"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Bladwijzers &bewerken…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Spellingcontrole…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Spelling controleren in het document"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "&Menubalk tonen"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Menubalk tonen of verbergen"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "&Werkbalk tonen"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Werkbalk tonen of verbergen"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "St&atusbalk tonen"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Statusbalk tonen of verbergen"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Modus V&olledig scherm"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Sne<oetsen configureren…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "%1 &configureren %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Werk&balken configureren…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "&Meldingen configureren…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 &handboek"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Wat is di&t?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Bug &rapporteren…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Taa&l configureren…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Info over %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Over &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Verwij&deren"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "He&rnoemen…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Naar prullenbak verplaatsen"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Doneren"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "&Menu openen"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Openen"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nieuw"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Sluiten"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Opslaan"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Afdrukken"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Afsluiten"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Ongedaan maken"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Opnieuw"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Knippen"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopiëren"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Plakken"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Selectie plakken"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Alles selecteren"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Selectie opheffen"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Woord achterwaarts verwijderen"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Woord voorwaarts verwijderen"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Zoeken"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Volgende zoeken"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Zoek vorige"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Vervangen"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Home"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Begin"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Einde"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Vorige"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Volgende"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Omhoog"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Terug"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Vooruit"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Herladen"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Begin van regel"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Einde van regel"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Ga naar regel"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Woord achterwaarts"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Woord voorwaarts"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Bladwijzer toevoegen"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Inzoomen"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Uitzoomen"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Volledig schermmodus"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Menubalk tonen"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Volgend tabblad activeren"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Vorig tabblad activeren"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Help"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Wat is dit"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Tekst aanvullen"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Vorige overeenkomende aanvulling"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Volgende overeenkomende aanvulling"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Subtekstaanvulling"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Vorig item in de lijst"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Volgend item in de lijst"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Recent openen"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Opslaan als"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Terugdraaien"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Afdrukvoorbeeld"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "E-mail"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Wissen"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Zoomen naar actuele grootte"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Passend in pagina"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Passend in breedte"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Passend in hoogte"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Zoomen"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Ga naar"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Ga naar pagina"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Document teruggaan"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Document vooruitgaan"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Bladwijzers bewerken"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Spelling"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Werkbalk tonen"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Statusbalk tonen"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Toetsenbindingen"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Toepassingen configureren"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Werkbalken instellen"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Meldingen instellen"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Bug rapporteren"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Taal configureren…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Info over programma"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Over KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Verwijderen"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Hernoemen"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Naar prullenbak verplaatsen"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Doneren"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Verborgen bestanden tonen/verbergen"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Map aanmaken"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Hoofdmenu openen"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Contextmenu openen"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+"KDE-programma voor het bijwerken van de gebruikers' configuratiebestanden"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Uitvoerresultaten van scripts behouden"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Alleen voor testen met eenheden: de gedane items niet schrijven, zodat met "
+"elke keer opnieuw uitvoeren, de scripts opnieuw worden uitgevoerd"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Controleren of het configuratiebestand zelf bijgewerkt dient te worden"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Bestand(en) met instructies voor bijwerken"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Map om bestanden in te genereren [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "map"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Softwarelicentie tonen."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "<file> gebruiken in plaats van globale configuratie"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Groep om in te zoeken. Gebruik \"<standaard>\" voor de groep root of "
+"herhaaldelijk voor geneste groepen."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Term om naar te zoeken"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Standaardwaarde"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Variabeletype"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Groepsnaam kan niet leeg zijn, gebruik \"<standaard>\" voor de groep root"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Variabeletype. Gebruik \"bool\" voor een boleaanse waarde, anders wordt dit "
+"behandeld als een tekenreeks."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "De aangeduide sleutel verwijderen indien ingeschakeld"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "De waarde om te schrijven. Gebruik op een shell altijd '' voor leeg."
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Tip van de dag"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Alleen voor testen van units: gebruik testmappen om weg te blijven van de "
+#~ "echte bestanden van gebruikers"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Opties opslaan"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Taal van programma wijzigen"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Voorkeuren"
--- /dev/null
+# Translation of kconfig6_qt to Norwegian Nynorsk
+#
+# Håvard Korsvoll <korsvoll@skulelinux.no>, 2004.
+# Eirik U. Birkeland <eirbir@gmail.com>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-09-26 19:21+0200\n"
+"Last-Translator: Karl Ove Hufthammer <karl@huftis.org>\n"
+"Language-Team: Norwegian Nynorsk <l10n-no@lister.huftis.org>\n"
+"Language: nn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 24.11.70\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Environment: kde\n"
+"X-Accelerator-Marker: &\n"
+"X-Text-Markup: qtrich\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Ta kontakt med systemansvarleg."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Oppsettfila «%1» er ikkje skrivbar.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Standard"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Tilbake"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Fram"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Heim"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Ny"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Lag nytt dokument"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Opna …"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Opna eit gammalt dokument"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "N&yleg opna"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Opna eit nyleg opna dokument"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Lagra"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Lagra dokumentet"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Lagra &som …"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Lagra dokumentet med nytt namn"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "&Tilbakestill"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Tilbakestill ulagra endringar i dokumentet"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Lu&kk"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Lukk dokumentet"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Skriv &ut …"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Skriv ut dokumentet"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "&Førehandsvising"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Vis ei førehandsvising av dokumentet"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "S&end på e-post …"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Send dokumentet via e-post"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Avslutt"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Avslutt programmet"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Angra"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Angra siste handling"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "&Gjer om"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Gjer om siste angra handling"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Klipp &ut"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Klipp ut utvalet til utklippstavla"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Kopier"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Kopierer utvalet til utklippstavla"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Lim inn"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Lim inn frå utklippstavla"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "&Tøm"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Merk &alt"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "&Fjern merking"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Finn …"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Finn &neste"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Finn &førre"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Byt ut …"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Vis &verkeleg storleik"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Vis dokumentet med faktisk storleik"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Tilpass til sidestorleik"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Vis dokumentet slik at heile får plass i vindauget"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Tilpass til side&breidd"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Vis dokumentet slik at heile breidda får plass i vindauget"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Tilpass til side&høgd"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Vis dokumentet slik at heile høgda får plass i vindauget"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "For&størr"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "For&minsk"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Vis større/mindre …"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Vel forstørring"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Oppdater"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Oppdater dokumentet"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Opp"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Gå opp"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Førre side"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Gå til førre side"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Neste side"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Gå til neste side"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Gå til …"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Gå til side …"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "G&å til linje …"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Første side"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Gå til første side"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Siste side"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Gå til siste side"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Tilbake"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Gå bakover i dokumentet"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Fram"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Gå framover i dokumentet"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Legg til bokmerke"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Rediger bokmerke …"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Stavekontroll …"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Køyr stavekontroll på dokumentet"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Vis &menylinje"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Vis eller gøym menylinja"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Vis &verktøylinje"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Vis eller gøym verktøylinja"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Vis st&atuslinje"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Vis eller gøym statuslinja"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "F&ullskjermsmodus"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Set opp &snøggtastar …"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Set opp %1 …"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Set opp verktøy&linjer …"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Set opp &varslingar …"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1-&handbok"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Kva er de&tte?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Meld frå om feil …"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Set opp &språk …"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Om %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Om &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Slett"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Endra namn …"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Flytt til papirkorga"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Gje pengegåve"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Opna &meny"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Opna"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Ny"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Lukk"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Lagra"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Skriv ut"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Avslutt"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Angra"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Gjer om"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Klipp ut"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopier"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Lim inn"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Lim inn utval"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Merk alt"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Fjern merking"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Slett ord bakover"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Slett ord framover"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Finn"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Finn neste"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Finn førre"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Byt ut"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Heim"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Start"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Slutt"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Førre"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Neste"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Opp"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Tilbake"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Fram"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Last om att"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Starten på linja"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Slutten på linja"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Gå til linje"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Gå eitt ord bak"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Gå eitt ord fram"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Legg til bokmerke"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Vis større"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Vis mindre"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Fullskjermsmodus"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Vis menylinje"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Gå til neste fane"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Gå til førre fane"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Hjelp"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Kva er dette"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Tekstfullføring"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Førre fullføringstreff"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Neste fullføringstreff"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Delstrengfullføring"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Førre element i lista"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Neste element i lista"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Nyleg brukt"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Lagra som"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Tilbakestill"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Førehandsvising"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "E-post"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Tøm"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Vis verkeleg storleik"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Tilpass til side"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Tilpass til sidebreidd"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Tilpass til sidehøgd"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Forstørr/forminsk"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Gå til"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Gå til side"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Førre dokument"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Neste dokument"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Rediger bokmerke"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Stavekontroll"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Vis verktøylinje"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Vis statuslinje"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Tastebindingar"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Set opp program"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Set opp verktøylinjer"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Set opp varslingar"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Meld frå om feil"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Set opp språk …"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Om programmet"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Om KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Slett"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Endra namn"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Flytt til papirkorga"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Gje pengegåve"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Vis/gøym gøymde filer"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Lag mappe"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Opna hovudmeny"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Opna kontekstmeny"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE-verktøy for oppdatering av brukaroppsett"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Ta vare på utdata frå skript"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Berre for einingstestar: Ikkje skriv «fullført»-oppføringar. Dette gjer at "
+"skripta vert køyrde på nytt ved kvar køyring."
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Sjekk om oppsettfila treng oppdatering"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Fil(er) å lesa oppdateringsinstruksjonar frå"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Mappa som dei genererte filene skal lagrast i [.]."
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "mappe"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Vis programvarelisens."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Bruk <fil> i staden for standardoppsett"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Gruppa det skal leitast i. Bruk «<default>» for rotgruppa eller fleire "
+"gongar for nøsta grupper."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Nøkkel å sjå etter"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Standardverdi"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Variabeltype"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "Gruppenamnet kan ikkje vera tomt (bruk «<default>» for rotgruppa)"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Variabeltype. Bruk «bool» for boolske verdiar; elles vert det handsama som "
+"ein tekststreng."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Fjern den valde nøkkelen"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Verdien som skal skrivast. I eit skal må du bruka '' for tomme verdiar"
--- /dev/null
+# translation of kwriteconfig.po to Oriya
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Manoj Kumar Giri <mgiri@redhat.com>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2009-01-02 11:49+0530\n"
+"Last-Translator: Manoj Kumar Giri <mgiri@redhat.com>\n"
+"Language-Team: Oriya <oriya-it@googlegroups.com>\n"
+"Language: or\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
--- /dev/null
+# translation of kwriteconfig.po to Punjabi
+# Amanpreet Singh Alam <aalam@redhat.com>, 2004, 2005.
+# Amanpreet Singh Brar <amanpreetalam@yahoo.com>, 2005.
+# SPDX-FileCopyrightText: 2007, 2009, 2010, 2014, 2018, 2024 A S Alam <aalam@users.sf.net>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-01-29 22:39-0600\n"
+"Last-Translator: A S Alam <aalam@punlinux.org>\n"
+"Language-Team: Punjabi <kde-i18n-doc@kde.org>\n"
+"Language: pa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 23.08.4\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "ਆਪਣੇ ਸਿਸਟਮ ਐਡਮਿਨਸਟੇਟਰ ਨਾਲ ਸੰਪਰਕ ਕਰੋ ਜੀ।"
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "ਸੰਰਚਨਾ ਫਾਇਲ \"%1\" ਲਿਖਣਯੋਗ ਨਹੀਂ ਹੈ।\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "ਡਿਫਾਲਟ"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "ਪਿੱਛੇ"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "ਅੱਗੇ"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "ਘਰ"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "ਖੋਲ੍ਹੋ"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "ਸੱਜਰੇ ਖੋਲ੍ਹੋ"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "ਸੰਭਾਲੋ"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "ਇੰਝ ਸੰਭਾਲੋ"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "ਪਰਤਾਓ"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "ਬੰਦ ਕਰੋ"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "ਪਰਿੰਟ ਕਰੋ"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "ਪਰਿੰਟ ਝਲਕ"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "ਮੇਲ"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "ਬਾਹਰ"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "ਐਪਲੀਕੇਸ਼ਨ ਬਾਰੇ"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "ਵਾਪਿਸ"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "ਕਾਪੀ ਕਰੋ"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "ਚੇਪੋ"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "ਸਾਫ਼ ਕਰੋ"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "ਸਭ ਚੁਣੋ"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "ਅਣ-ਚੁਣੇ ਕਰੋ"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "ਖੋਜੋ"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "ਅੱਗੇ ਖੋਜੋ"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "ਪਿੱਛੇ ਖੋਜੋ"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "ਤਬਦੀਲ ਕਰੋ"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom to Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "ਅਸਲੀ ਆਕਾਰ ਲਈ ਜ਼ੂਮ ਕਰੋ"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "ਸਫ਼ੇ ਲਈ ਫਿੱਟ ਕਰੋ"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "ਚੌੜਾਈ ਲਈ ਫਿੱਟ"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "ਉਚਾਈ ਲਈ ਫਿੱਟ"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "ਜ਼ੂਮ ਇਨ"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "ਜ਼ੂਮ ਆਉਟ"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "ਜ਼ੂਮ"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "ਸਭ ਚੁਣੋ"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "ਉੱਤੇ"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "ਲਾਈਨ ਉੱਤੇ ਜਾਓ"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "ਲਾਈਨ ਉੱਤੇ ਜਾਓ"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "ਸਫ਼ੇ ਲਈ ਫਿੱਟ ਕਰੋ"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "ਲਾਈਨ ਉੱਤੇ ਜਾਓ"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "ਪਿੱਛੇ"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "ਅੱਗੇ"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "ਬੁੱਕਮਾਰਕ ਜੋੜੋ"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "ਬੁੱਕਮਾਰਕ ਨੂੰ ਸੋਧੋ"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "ਸ਼ਬਦ-ਜੋੜ"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "ਮੇਨੂ ਪੱਟੀ ਵੇਖਾਓ"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "ਮੇਨੂ ਪੱਟੀ ਵੇਖਾਓ"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "ਟੂਲਬਾਰ ਵੇਖਾਓ"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "ਟੂਲਬਾਰ ਵੇਖਾਓ"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "ਹਾਲਤ-ਪੱਟੀ ਵੇਖਾਓ"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "ਹਾਲਤ-ਪੱਟੀ ਵੇਖਾਓ"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "ਪੂਰੀ ਸਕਰੀਨ ਮੋਡ"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "ਭਾਸ਼ਾ ਦੀ ਸੰਰਚਨਾ…"
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "ਟੂਲਬਾਰਾਂ ਦੀ ਸੰਰਚਨਾ"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "ਨੋਟੀਫਿਕੇਸ਼ਨਾਂ ਦੀ ਸੰਰਚਨਾ"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "ਇਹ ਕੀ ਹੈ"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "ਬੱਗ ਰਿਪੋਰਟ ਦਿਓ"
+
+#: gui/kstandardactions_p.h:135
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "ਭਾਸ਼ਾ ਦੀ ਸੰਰਚਨਾ…"
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "ਕੇਡੀਈ ਬਾਰੇ"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "ਕੇਡੀਈ ਬਾਰੇ"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "ਹਟਾਓ"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "ਨਾਂ ਬਦਲੋ"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "ਰੱਦੀ ਵਿੱਚ ਭੇਜੋ"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "ਦਾਨ ਕਰੋ"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt ""
+#| "KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+#| msgid "Open Main Menu"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "ਮੁੱਖ ਮੇਨੂ ਖੋਲ੍ਹੋ"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "ਖੋਲ੍ਹੋ"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "ਨਵਾਂ"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "ਬੰਦ ਕਰੋ"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "ਸੰਭਾਲੋ"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "ਪਰਿੰਟ ਕਰੋ"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "ਬਾਹਰ"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "ਵਾਪਿਸ"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "ਪਰਤਾਓ"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "ਕੱਟੋ"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "ਕਾਪੀ ਕਰੋ"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "ਚੇਪੋ"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "ਚੋਣ ਕੀਤੀ ਨੂੰ ਚੇਪੋ"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "ਸਭ ਚੁਣੋ"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "ਅਣ-ਚੁਣੇ ਕਰੋ"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "ਅੱਖਰ ਪਿੱਛੇ ਵੱਲ ਹਟਾਓ"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "ਅੱਖਰ ਅੱਗੇ ਵੱਲ ਹਟਾਓ"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "ਖੋਜੋ"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "ਅੱਗੇ ਖੋਜੋ"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "ਪਿੱਛੇ ਖੋਜੋ"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "ਤਬਦੀਲ ਕਰੋ"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "ਘਰ"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "ਸ਼ੁਰੂ"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "ਅੰਤ"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "ਦਰਜਾ"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "ਅੱਗੇ"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "ਉੱਤੇ"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "ਪਿੱਛੇ"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "ਅੱਗੇ"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "ਮੁੜ-ਲੋਡ ਕਰੋ"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "ਲਾਈਨ ਦੇ ਸ਼ੁਰੂ ਉੱਤੇ"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "ਲਾਈਨ ਦੇ ਅੰਤ ਉੱਤੇ"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "ਲਾਈਨ ਉੱਤੇ ਜਾਓ"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "ਸ਼ਬਦ ਪਿੱਛੇ"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "ਸ਼ਬਦ ਅੱਗੇ"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "ਬੁੱਕਮਾਰਕ ਜੋੜੋ"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "ਜ਼ੂਮ ਇਨ"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "ਜ਼ੂਮ ਆਉਟ"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "ਪੂਰੀ ਸਕਰੀਨ ਮੋਡ"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "ਮੇਨੂ ਪੱਟੀ ਵੇਖਾਓ"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "ਅਗਲੀ ਟੈਬ ਨੂੰ ਸਰਗਰਮ ਕਰੋ"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "ਪਿਛਲੀ ਟੈਬ ਨੂੰ ਸਰਗਰਮ ਕਰੋ"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "ਮਦਦ"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "ਇਹ ਕੀ ਹੈ"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "ਲਿਖਤ ਪੂਰਤੀ"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "ਸੂਚੀ ਵਿੱਚ ਪਿਛਲੀ ਆਈਟਮ"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "ਸੂਚੀ ਵਿੱਚ ਅਗਲੀ ਆਈਟਮ"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "ਸੱਜਰੇ ਖੋਲ੍ਹੋ"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "ਇੰਝ ਸੰਭਾਲੋ"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "ਪਰਤਾਓ"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "ਪਰਿੰਟ ਝਲਕ"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "ਮੇਲ"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "ਸਾਫ਼ ਕਰੋ"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "ਅਸਲੀ ਆਕਾਰ ਲਈ ਜ਼ੂਮ ਕਰੋ"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "ਸਫ਼ੇ ਲਈ ਫਿੱਟ ਕਰੋ"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "ਚੌੜਾਈ ਲਈ ਫਿੱਟ"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "ਉਚਾਈ ਲਈ ਫਿੱਟ"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "ਜ਼ੂਮ"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "ਜਾਓ"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "ਡੌਕੂਮੈਂਟ ਪਿੱਛੇ"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "ਡੌਕੂਮੈਂਟ ਅੱਗੇ"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "ਬੁੱਕਮਾਰਕ ਨੂੰ ਸੋਧੋ"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "ਸ਼ਬਦ-ਜੋੜ"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "ਟੂਲਬਾਰ ਵੇਖਾਓ"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "ਹਾਲਤ-ਪੱਟੀ ਵੇਖਾਓ"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "ਸਵਿੱਚ ਬਾਈਡਿੰਗ"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਸੰਰਚਨਾ"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "ਟੂਲਬਾਰਾਂ ਦੀ ਸੰਰਚਨਾ"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "ਨੋਟੀਫਿਕੇਸ਼ਨਾਂ ਦੀ ਸੰਰਚਨਾ"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "ਬੱਗ ਰਿਪੋਰਟ ਦਿਓ"
+
+#: gui/kstandardshortcut.cpp:417
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "ਭਾਸ਼ਾ ਦੀ ਸੰਰਚਨਾ…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "ਐਪਲੀਕੇਸ਼ਨ ਬਾਰੇ"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "ਕੇਡੀਈ ਬਾਰੇ"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "ਹਟਾਓ"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "ਨਾਂ ਬਦਲੋ"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "ਰੱਦੀ ਵਿੱਚ ਭੇਜੋ"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "ਦਾਨ ਕਰੋ"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "ਲੁਕਵੀਆਂ ਫਾਇਲਾਂ ਨੂੰ ਵੇਖਾਓ/ਓਹਲੇ"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "ਫੋਲਡਰ ਬਣਾਓ"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "ਮੁੱਖ ਮੇਨੂ ਖੋਲ੍ਹੋ"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "ਪਰਸੰਗ ਮੇਨੂ ਖੋਲ੍ਹੋ"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "ਵਰਤੋਂਕਾਰ ਸੰਰਚਨਾ ਫਾਇਲਾਂ ਦੇ ਅੱਪਡੇਟ ਲਈ KDE ਟੂਲ"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "ਸਕ੍ਰਿਪਟਾਂ ਤੋਂ ਪ੍ਰਾਪਤ ਨਤੀਜੇ ਰੱਖੋ"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "ਜਾਂਚ ਕਰੋ ਕਿ config ਫਾਇਲ ਨੂੰ ਅੱਪਡੇਟ ਦੀ ਲੋੜ ਹੈ।"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "ਡਾਇਰੈਕਟਰੀ"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "ਸਾਫਟਵੇਅਰ ਲਸੰਸ ਵੇਖੋ।"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "ਗਲੋਬਲ ਸੰਰਚਨਾ ਦੀ ਬਜਾਏ <file> ਵਰਤੋਂ"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgctxt "main|"
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "ਲੱਭਣ ਲਈ ਗਰੁੱਪ। ਅੰਦਰੂਨੀ ਗਰੁੱਪਾਂ ਲਈ ਲਗਾਤਾਰ ਵਰਤੋਂ।"
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "ਖੋਜ ਲਈ ਕੁੰਜੀ"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "ਡਿਫਾਲਟ ਮੁੱਲ"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "ਵੇਰੀਬਲ ਦੀ ਟਾਈਪ"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr "ਵੇਰੀਬਲ ਦੀ ਕਿਸਮ। ਬੁਲੀਅਨ ਲਈ \"bool\" ਵਰਤੋਂ, ਨਹੀਂ ਤਾਂ ਇਸ ਨੂੰ ਸਤਰ ਹੀ ਮੰਨਿਆ ਜਾਵੇਗਾ।"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "ਲਿਖਣ ਲਈ ਮੁੱਲ। ਲਾਜ਼ਮੀ ਰੂਪ ਵਿੱਚ ਸੈੱਲ ਉੱਤੇ ਖਾਲੀ ਲਈ '' ਵਰਤੋਂ"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "ਚੋਣਾਂ ਸੰਭਾਲੋ"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "ਐਪਲੀਕੇਸ਼ਨ ਭਾਸ਼ਾ ਬਦਲੋ"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "ਮੇਰੀ ਪਸੰਦ"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "KConfig ਇੰਦਰਾਜ਼ ਲਿਖੋ - ਸੈੱਲ ਸਕਰਿਪਟ ਵਿੱਚ ਵਰਤਣ ਲਈ"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "kreadconfig ਲਿਖੋ, ਜਿਸ ਉੱਤੇ ਇਹ ਅਧਾਰਿਤ ਹੈ"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "ਲਿਊਸ ਪੀਡਰੋ ਕੋਈਲਹੋ"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# translation of kwriteconfig.po to Polish
+# Copyright (C) 2003, 2008 Free Software Foundation, Inc.
+#
+# Michal Rudolf <mrudolf@kdewebdev.org>, 2003, 2008.
+# SPDX-FileCopyrightText: 2014, 2015, 2016, 2017, 2018, 2020, 2021, 2022, 2023, 2024 Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-30 11:19+0200\n"
+"Last-Translator: Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>\n"
+"Language-Team: Polish <kde-i18n-doc@kde.org>\n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2);\n"
+"X-Generator: Lokalize 23.08.5\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Proszę skontaktować się z administratorem systemu."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Plik ustawień \"%1\" nie jest dostępny do zapisu.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Domyślne"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Wstecz"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Naprzód"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Strona domowa"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Nowy"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Utwórz nowy dokument"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Otwórz…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Otwórz istniejący dokument"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Otwó&rz ostatni"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Otwórz dokument, który był ostatnio otwierany"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Zapi&sz"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Zapisz dokument"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Zapisz j&ako…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Zapisz dokument pod nową nazwą"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Przyw&róć"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Przywróć niezapisane zmiany dokonane w dokumencie"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Zamknij"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Zamknij dokument"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Wy&drukuj…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Wydrukuj dokument"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Podgląd &wydruku"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Pokaż podgląd wydruk dokumentu"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Poczta…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Wyślij dokument pocztą"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Za&kończ"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Zakończ program"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Cofnij"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Cofnij ostatnie działanie"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "&Przywróć"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Przywróć ostatnio cofnięte działanie"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Wy&tnij"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Wytnij zaznaczenie do schowka"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "S&kopiuj"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Skopiuj zaznaczenie do schowka"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Wklej"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Wklej zawartość schowka"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "&Wyczyść"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Z&aznacz wszystko"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "O&dznacz wszystko"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Poszukaj…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Poszukaj &następnego"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Poszukaj &poprzedniego"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Zastąp…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "&Powiększ do rozmiaru rzeczywistego"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Obejrzyj dokument w jego rzeczywistym rozmiarze"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Zmieść na stronie"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Powiększ, tak aby zmieścić stronę w oknie"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Zmieść na sze&rokości strony"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Powiększ, tak aby zmieścić stronę na szerokość w oknie"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Zmieść na wy&sokości strony"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Powiększ, tak aby zmieścić stronę na wysokość w oknie"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Pow&iększ"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "P&omniejsz"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Powięks&zenie…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Wybierz poziom powiększenia"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Odśwież"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Odśwież dokument"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "W &górę"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Przejdź do góry"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Poprzednia strona"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Przejdź do poprzedniej strony"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Następna strona"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Przejdź do następnej strony"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Przejdź do…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Przejdź do strony…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Przejdź do wiersza…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Pi&erwsza strona"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Przejdź do pierwszej strony"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Ostatnia strona"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Przejdź do ostatniej strony"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Wstecz"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Idź wstecz w dokumencie"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Naprzód"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Idź do przodu w dokumencie"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Dodaj z&akładkę"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Edytuj zakładki…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Pi&sownia…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Sprawdź pisownię w dokumencie"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Pokaż pasek &menu"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Pokaż lub ukryj pasek menu"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Pokaż pasek &narzędzi"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Pokaż lub ukryj pasek narzędzi"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Pokaż pasek st&anu"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Pokaż lub ukryj pasek stanu"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Tryb pełno&ekranowy"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Ustawienia skrótów klawiszowyc&h…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "U&stawienia %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "&Ustawienia pasków narzędzi…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Ustawie&nia powiadomień…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "Podrę&cznik %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Co to jes&t?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Zgłoś błąd…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Ustawienia &języka…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "O progr&amie %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "O &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Usuń"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "P&rzemianuj…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Wyrzuć do &kosza"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Darowizna"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Otwórz &menu"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Otwórz"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nowy"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Zamknij"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Zapisz"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Drukuj"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Zakończ"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Cofnij"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Przywróć"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Wytnij"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Skopiuj"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Wklej"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Wklej zaznaczenie"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Zaznacz wszystko"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Odznacz"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Usuń słowo przed kursorem"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Usuń słowo za kursorem"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Znajdź"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Znajdź następne"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Znajdź poprzednie"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Zastąp"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Katalog domowy"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Początek"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Koniec"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Poprzedni"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Następny"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "W górę"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Wstecz"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Naprzód"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Wczytaj ponownie"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Początek wiersza"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Koniec wiersza"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Przejdź do wiersza"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Słowo wstecz"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Słowo naprzód"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Dodaj zakładkę"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Powiększ"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Pomniejsz"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Tryb pełnoekranowy"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Pokaż pasek menu"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Uaktywnij następną kartę"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Uaktywnij poprzednią kartę"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Pomoc"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Co to jest?"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Uzupełnianie tekstu"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Poprzedni wynik uzupełniania"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Następny wynik uzupełniania"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Uzupełnienie podciągu znaków"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Poprzedni wpis na wykazie"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Następny wpis na wykazie"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Otwórz poprzedni"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Zapisz jako"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Przywróć"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Podejrzyj wydruk"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Poczta"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Wyczyść"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Powiększ do rozmiaru rzeczywistego"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Zmieść stronę"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Zmieść na szerokość"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Zmieść na wysokość"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Powiększenie"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Przejdź do"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Przejdź do strony"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Przewiń wstecz"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Przewiń naprzód"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Edytuj zakładki"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Pisownia"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Pokaż pasek narzędzi"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Pokaż pasek stanu"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Skróty klawiszowe"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Ustawienia aplikacji"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Ustawienia pasków narzędzi"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Ustawienia powiadomień"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Zgłoś błąd"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Ustawienia języka…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "O programie"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "O KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Usuń"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Zmień nazwę"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Wyrzuć do kosza"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Darowizna"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Pokaż/ukryj ukryte pliki"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Utwórz katalog"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Otwórz menu główne"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Otwórz menu podręczne"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Narzędzie KDE do uaktualniania plików ustawień użytkownika"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Zachowaj wynik wykonania skryptów"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Tylko dla testów jednostkowych: nie pisz wykonanych wpisów, tak żeby za "
+"każdym ponownym uruchomieniem, skrypty były wykonywane ponownie"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Sprawdź, czy nie należy uaktualnić samego pliku ustawień."
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Plik(i), z którego oczytać instrukcję uaktualnienia"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Katalog do tworzenia plików w [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "katalog"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Wyświetl licencję oprogramowania."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Użyj <file> zamiast ustawień globalnych"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Przeszukiwana grupa. Użyj \"<default>\" dla grupy głównej lub użyj tego "
+"wielokrotnie dla zagnieżdżonych grup."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Szukany klucz"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Domyślna wartość"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Rodzaj zmiennej"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "Nazwa grupy nie może być pusta, użyj \"<default>\" dla głównej grupy"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Rodzaj zmiennej. Dla wartości logicznej jest to \"bool\", w przeciwnym razie "
+"zmienna będzie traktowana jak ciąg znaków"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Usuń przeznaczony klucz, jeśli włączone"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Wartość do zapisania. Niezbędna, w skryptach można użyć '' dla wartości "
+"pustej"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Porada dnia"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Tylko dla testów jednostkowych: użyj katalogów testowych, aby trzymać się "
+#~ "z dala od prawdziwych plików użytkownika"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Zapisz ustawienia"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Zmień język programu"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Ustawienia"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Zapisywanie pozycji KConfig - do stosowania w skryptach"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Autor kreadconfig, na którym oparty jest ten program"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2022-06-03 18:00+0100\n"
+"Last-Translator: Pedro Morais <morais@kde.org>\n"
+"Language-Team: pt <kde-i18n-pt@kde.org>\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POFile-SpellExtra: bool KConfig KWriteConfig Rosenkraenzer Bernhard\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-POFile-SpellExtra: kreadconfig Hat Red Inc\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Contacte por favor o seu administrador do sistema."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Não é possível escrever no ficheiro de configuração \"%1\".\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Predefinição"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Recuar"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Avançar"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Pasta Pessoal"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Abrir"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Abrir um Recente"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Gravar"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Gravar Como"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Reverter"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Fechar"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Imprimir"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Antevisão da Impressão"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Enviar um E-Mail"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Sair"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Acerca da Aplicação"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Desfazer"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Copiar"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Colar"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Limpar"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Seleccionar Tudo"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Deseleccionar"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Procurar"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Procurar o Seguinte"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Procurar o Anterior"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Substituir"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom to Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Ampliar para o Tamanho Actual"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Ajustar à Página"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Ajustar à Largura"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Ajustar à Altura"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Ampliar"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Reduzir"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Ampliação"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Seleccionar Tudo"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Subir"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Ir Para a Página"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Ir para a Linha"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Ir Para a Página"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Ir para a Linha"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Ajustar à Página"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Ir para a Linha"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Ir Para a Página"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Recuar"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Avançar"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Adicionar aos Favoritos"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Editar os Favoritos"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Ortografia"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Mostrar o Menu"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Mostrar o Menu"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Mostrar a Barra de Ferramentas"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Mostrar a Barra de Ferramentas"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Mostrar a Barra de Estado"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Mostrar a Barra de Estado"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Modo de Ecrã Completo"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "Configurar a Língua..."
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Configurar as Barras de Ferramentas"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Configurar as Notificações"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "O Que é Isto"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Comunicar um Erro"
+
+#: gui/kstandardactions_p.h:135
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Configurar a Língua..."
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Acerca do KDE"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Acerca do KDE"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Apagar"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Mudar o Nome"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Enviar para o Lixo"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Doar"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Abrir um Recente"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Abrir"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Novo"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Fechar"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Gravar"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Imprimir"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Sair"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Desfazer"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Refazer"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Cortar"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Copiar"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Colar"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Colar a Selecção"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Seleccionar Tudo"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Deseleccionar"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Apagar a Palavra Atrás"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Apagar a Palavra à Frente"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Procurar"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Procurar o Seguinte"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Procurar o Anterior"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Substituir"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Pasta Pessoal"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Início"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Fim"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Anterior"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Seguinte"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Subir"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Recuar"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Avançar"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Recarregar"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Início da Linha"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Fim da Linha"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Ir para a Linha"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Recuar uma Palavra"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Avançar uma Palavra"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Adicionar aos Favoritos"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Ampliar"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Reduzir"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Modo de Ecrã Completo"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Mostrar o Menu"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Activar a Página Seguinte"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Activar a Página Anterior"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Ajuda"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "O Que é Isto"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Completação de Texto"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Correspondência Anterior"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Correspondência Seguinte"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Completação de Sub-Textos"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Item Anterior na Lista"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Item Seguinte na Lista"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Abrir um Recente"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Gravar Como"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Reverter"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Antevisão da Impressão"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Enviar um E-Mail"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Limpar"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Ampliar para o Tamanho Actual"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Ajustar à Página"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Ajustar à Largura"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Ajustar à Altura"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Ampliação"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Ir Para"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Ir Para a Página"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Recuar no Documento"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Avançar no Documento"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Editar os Favoritos"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Ortografia"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Mostrar a Barra de Ferramentas"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Mostrar a Barra de Estado"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Atalhos de Teclado"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Configurar a Aplicação"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Configurar as Barras de Ferramentas"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Configurar as Notificações"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Comunicar um Erro"
+
+#: gui/kstandardshortcut.cpp:417
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Configurar a Língua..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Acerca da Aplicação"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Acerca do KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Apagar"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Mudar o Nome"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Enviar para o Lixo"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Doar"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Mostrar/Esconder os Ficheiros Escondidos"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Criar a Pasta"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+"Uma ferramenta do KDE para actualizar os ficheiros de configuração do "
+"utilizador"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Manter os resultados à saída dos programas"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+"Verificar se o ficheiro de configuração em si necessita de actualização"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Ficheiros de onde ler as instruções de actualização"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "A pasta onde gerar os ficheiros [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "pasta"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Mostra a licença da aplicação."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Utilizar <ficheiro> em vez da configuração global"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"O grupo onde procurar. Use o \"<default>\" para o grupo de raiz, ou use de "
+"forma repetida para grupos encadeados."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Chave a procurar"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Valor por omissão"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Tipo de variável"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"O nome do grupo não pode estar vazio; use o \"<default>\" para o grupo de "
+"raiz"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Tipo da variável. Utilize \"bool\" para um booleano, em caso contrário é "
+"tratado como uma cadeia de caracteres"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Apaga a chave designada, caso esteja activa"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"O valor a escrever. Obrigatório, numa linha de comandos utilize '' para vazio"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Dica do Dia"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Apenas para testes unitários: usar as pastas de testes para separar dos "
+#~ "ficheiros originais do utilizador"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Gravar as Opções"
--- /dev/null
+# Translation of kconfig5_qt.po to Brazilian Portuguese
+# Copyright (C) 2003, 2007, 2008, 2009, 2014, 2015, 2019 Free Software Foundation, Inc.
+#
+# Lisiane Sztoltz <lisiane@conectiva.com.br>, 2003.
+# Henrique Pinto <stampede@coltec.ufmg.br>, 2003.
+# Diniz Bortolotto <diniz.bortolotto@gmail.com>, 2007.
+# Fernando Boaglio <boaglio@kde.org>, 2008.
+# Luiz Fernando Ranghetti <elchevive@opensuse.org>, 2009, 2016, 2017, 2018, 2020, 2021, 2022, 2023.
+# André Marcelo Alvarenga <alvarenga@kde.org>, 2009, 2014, 2015, 2019.
+msgid ""
+msgstr ""
+"Project-Id-Version: kconfig5_qt\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2023-11-14 13:16-0300\n"
+"Last-Translator: Luiz Fernando Ranghetti <elchevive@opensuse.org>\n"
+"Language-Team: Brazilian Portuguese <kde-i18n-pt_BR@kde.org>\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 22.12.3\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Contate o administrador do seu sistema."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Arquivo de configuração \"%1\" não gravável.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Padrão"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Voltar"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Avançar"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Home"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Abrir"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Abrir recente"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Salvar"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Salvar como"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Reverter"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Fechar"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Imprimir"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Visualizar impressão"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "E-mail"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Sair"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Sobre o aplicativo"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Desfazer"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Copiar"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Colar"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Limpar"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Selecionar tudo"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Desmarcar"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Localizar"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Localizar próxima"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Localizar anterior"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Substituir"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom to Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Zoom para o tamanho atual"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Ajustar à página"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Ajustar à largura"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Ajustar à altura"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Ampliar"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Reduzir"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Zoom"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Selecionar tudo"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Acima"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Ir para a página"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Ir para a linha"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Ir para a página"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Ir para a linha"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Ajustar à página"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Ir para a linha"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Ir para a página"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Voltar"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Avançar"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Adicionar favorito"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Editar favoritos"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Ortografia"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Mostrar barra de menus"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Mostrar barra de menus"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Mostrar barra de ferramentas"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Mostrar barra de ferramentas"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Mostrar barra de status"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Mostrar barra de status"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Modo de tela inteira"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "Configurar idioma..."
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Configurar barras de ferramentas"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Configurar notificações"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "O que é isto"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Relatar erro"
+
+#: gui/kstandardactions_p.h:135
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Configurar idioma..."
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Sobre o KDE"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Sobre o KDE"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Excluir"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Renomear"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Mover para a Lixeira"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Doar"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt ""
+#| "KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+#| msgid "Open Main Menu"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Abrir menu principal"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Abrir"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Novo"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Fechar"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Salvar"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Imprimir"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Sair"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Desfazer"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Refazer"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Recortar"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Copiar"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Colar"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Colar seleção"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Selecionar tudo"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Desmarcar"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Excluir palavras anteriores"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Excluir palavras posteriores"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Localizar"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Localizar próxima"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Localizar anterior"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Substituir"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Home"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Início"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Fim"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Anterior"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Próximo"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Acima"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Voltar"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Avançar"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Recarregar"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Início da linha"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Fim da linha"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Ir para a linha"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Palavra anterior"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Palavra posterior"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Adicionar favorito"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Ampliar"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Reduzir"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Modo de tela inteira"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Mostrar barra de menus"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Ativar a próxima aba"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Ativar a aba anterior"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Ajuda"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "O que é isto"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Complementação de texto"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Coincidência de complementação anterior"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Coincidência de complementação seguinte"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Complementação de substring"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Item anterior na lista"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Próximo item na lista"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Abrir recente"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Salvar como"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Reverter"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Visualizar impressão"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "E-mail"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Limpar"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Zoom para o tamanho atual"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Ajustar à página"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Ajustar à largura"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Ajustar à altura"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Zoom"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Ir para"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Ir para a página"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Recuar no documento"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Avançar no documento"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Editar favoritos"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Ortografia"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Mostrar barra de ferramentas"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Mostrar barra de status"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Combinação de teclas"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Configurar aplicativo"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Configurar barras de ferramentas"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Configurar notificações"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Relatar erro"
+
+#: gui/kstandardshortcut.cpp:417
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Configurar idioma..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Sobre o aplicativo"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Sobre o KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Excluir"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Renomear"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Mover para a Lixeira"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Doar"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Mostrar/ocultar arquivos ocultos"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Criar pasta"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Abrir menu principal"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Abrir menu de contexto"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+"Ferramenta do KDE para atualização de arquivos de configuração de usuário"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Manter resultados da saída dos scripts"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Somente para testes de unidade: não escreva as entradas concluídas, para "
+"que, a cada nova execução, os scripts sejam executados novamente"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Verificar se o próprio arquivo de configuração requer atualização"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Arquivo(s) para ler instruções de atualização"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "A pasta para onde gerar os arquivos [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "pasta"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Exibir a licença do software."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Usar <file> em vez da configuração global"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Grupo para procurar. Use \"<padrão>\" para o grupo raiz ou use repetidamente "
+"para grupos aninhados."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Chave para procurar"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Valor padrão"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Tipo de variável"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"O nome do grupo não pode estar vazio, use \"<padrão>\" for the root group"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Tipo de variável. Use \"bool\" para booleana, caso contrário, será tratado "
+"como uma string"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Excluir a chave designada, caso esteja ativa"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "O valor a ser escrito. Use, no shell, '' para vazio"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Dica do dia"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Apenas para testes unitários: Use as pastas de teste para se afastar dos "
+#~ "arquivos reais do usuário"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Salvar opções"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Mudar o idioma do aplicativo"
--- /dev/null
+# Copyright (C) 2003, 2004, 2008 Free Software Foundation, Inc.
+# Claudiu Costin <claudiuc@kde.org>, 2003, 2004.
+# Sergiu Bivol <sergiu@cip.md>, 2008, 2020, 2022, 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-01-07 14:10+0000\n"
+"Last-Translator: Sergiu Bivol <sergiu@cip.md>\n"
+"Language-Team: Romanian <kde-i18n-ro@kde.org>\n"
+"Language: ro\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
+"20)) ? 1 : 2;\n"
+"X-Generator: Lokalize 21.12.3\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Contactați administratorul de sistem."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Fișierul de configurare „%1” nu poate fi scris.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Implicit"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Înapoi"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Înainte"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Acasă"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Deschide"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Deschide recent"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Salvează"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Salvează ca"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Revenire"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Închide"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Tipărește"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Previzualizare tipărire"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Poștă"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Termină"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Despre aplicație"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Desfă"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Copiază"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Lipește"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Curăță"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Selectează tot"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Deselectează"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Caută"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Caută urm."
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Caută prec."
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Înlocuiește"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom to Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Apropie la dimensiunea reală"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Încadrează în pagină"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Încadrează pe lățime"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Încadrează pe înălțime"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Apropie"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Depărtează"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Apropiere"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Selectează tot"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Sus"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Mergi la pagină"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Mergi la linie"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Mergi la pagină"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Mergi la linie"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Încadrează în pagină"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Mergi la linie"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Mergi la pagină"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Înapoi"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Înainte"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Adaugă semn de carte"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Redactează semne de carte"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Ortografie"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Arată bara de meniu"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Arată bara de meniu"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Arată bara de unelte"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Arată bara de unelte"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Arată bara de stare"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Arată bara de stare"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Regim ecran complet"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "Configurează limba"
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Configurează barele de unelte"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Configurează notificările"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Ce înseamnă aceasta"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Raportează defect"
+
+#: gui/kstandardactions_p.h:135
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Configurează limba"
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Despre KDE"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Despre KDE"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Șterge"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Redenumește"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Mută la gunoi"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Donează"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt ""
+#| "KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+#| msgid "Open Main Menu"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Deschide meniul principal"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Deschide"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nouă"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Închide"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Salvează"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Tipărește"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Termină"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Desfă"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Refă"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Taie"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Copiază"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Lipește"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Lipește selecția"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Selectează tot"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Deselectează"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Șterge cuvânt înapoi"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Șterge cuvânt înainte"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Caută"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Caută urm."
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Caută prec."
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Înlocuiește"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Acasă"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Început"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Sfârșit"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Precedent"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Următor"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Sus"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Înapoi"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Înainte"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Reîncarcă"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Începutul liniei"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Sfârșit de linie"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Mergi la linie"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Cuvânt înapoi"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Cuvânt înainte"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Adaugă semn de carte"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Apropie"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Depărtează"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Regim ecran complet"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Arată bara de meniu"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Activează fila următoare"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Activează fila precedentă"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Ajutor"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Ce înseamnă aceasta"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Completare text"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Precedenta potrivire de completare"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Următoarea potrivire de completare"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Completare subșir"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Precedentul element în listă"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Următorul element în listă"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Deschide recent"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Salvează ca"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Revenire"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Previzualizare tipărire"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Poștă"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Curăță"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Apropie la dimensiunea reală"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Încadrează în pagină"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Încadrează pe lățime"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Încadrează pe înălțime"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Apropiere"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Mergi la"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Mergi la pagină"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Document înapoi"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Document înainte"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Redactează semne de carte"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Ortografie"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Arată bara de unelte"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Arată bara de stare"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Asocieri de taste"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Configurează aplicația"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Configurează barele de unelte"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Configurează notificările"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Raportează defect"
+
+#: gui/kstandardshortcut.cpp:417
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Configurează limba"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Despre aplicație"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Despre KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Șterge"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Redenumește"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Mută la gunoi"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Donează"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Arată/ascunde fișierele ascunse"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Creează dosar"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Deschide meniul principal"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Deschide meniul contextual"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+"Unealtă KDE pentru actualizarea fișierelor de configurare ale utilizatorului"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Păstrează rezultatele de ieșire din scripturi"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Doar pentru teste unitare: nu scrie înregistrările încheiate, astfel încât "
+"scripturile să fie re-executate la fiecare rulare"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Verifică dacă însuși fișierul de configurare necesită actualizat"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Fișier(e) din care să fie citite instrucțiuni de actualizare"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Dosar în care să fie generate fișierele [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "dosar"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Afișează licența programului."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Utilizează <fișier> în loc de configurația globală"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Grupul de cercetat. Folosiți „<default>” pentru grupul-rădăcină, sau "
+"folosiți repetat pentru grupuri imbricate."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Cheie de căutat"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Valoarea implicită"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Tipul variabilei"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Denumirea grupului nu poate fi goală. folosiți „<default>” pentru grupul-"
+"rădăcină"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Tipul de variabilă. Utilizați „bool” pentru valoare logică, altfel este "
+"tratată ca șir textual"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Șterge cheia desemnată dacă e activată"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Valoarea de scris. Obligatorie. În linia de comandă folosiți '' pentru șir "
+"gol"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Sfatul zilei"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Doar pentru teste de unitate: folosește dosare de test pentru a nu atinge "
+#~ "fișierele reale ale utilizatorului"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Salvează opțiunile"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr ""
+#~ "Scrie înregistrări KConfig - de utilizat în scripturi de interpretor"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Am scris kreadconfig pe care este bazat acesta"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# translation of kwriteconfig.po into Russian
+#
+# SPDX-FileCopyrightText: 2019, 2020, 2021, 2022, 2024 Alexander Yavorsky <kekcuha@gmail.com>
+# Denis Perchine <dyp@perchine.com>, 2000.
+# Gregory Mokhin <mok@kde.ru>, 2005.
+# Andrey Cherepanov <skull@kde.ru>, 2009.
+# Alexander Potashev <aspotashev@gmail.com>, 2014, 2015, 2016, 2017, 2018, 2020.
+# Alexander Yavorsky <kekcuha@gmail.com>, 2024.
+# SPDX-FileCopyrightText: 2024 Olesya Gerasimenko <translation-team@basealt.ru>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-09-05 14:41+0300\n"
+"Last-Translator: Olesya Gerasimenko <translation-team@basealt.ru>\n"
+"Language-Team: Basealt Translation Team\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 23.08.5\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Environment: kde\n"
+"X-Accelerator-Marker: &\n"
+"X-Text-Markup: kde4\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Обратитесь к системному администратору."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Файл конфигурации «%1» защищён от записи.\n"
+
+# BUGME: change to "Стандартный"? --aspotashev
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "По умолчанию"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Назад"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Вперёд"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Основная страница"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Создать"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Создать новый документ"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Открыть…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Открыть существующий документ"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Последние &файлы"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Открыть недавно открытый документ"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Сохранить"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Сохранить документ"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Сохранить &как…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Сохранить документ с новым именем"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "&Восстановить"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Отбросить несохранённые изменения в документе"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Закрыть"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Закрыть документ"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Печать…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Напечатать документ"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "&Предварительный просмотр"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Выполнить предварительный просмотр документа"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Отправить по почте…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Отправить документ по почте"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Выход"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Выйти из приложения"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Отменить"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Отменить последнее действие"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "&Повторить"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Повторить последнее отменённое действие"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&Вырезать"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Вырезать выделенное в буфер обмена"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Копировать"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Копировать выделенное в буфер обмена"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Вставить"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Вставить содержимое буфера обмена"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "О&чистить"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Выделить &все"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "&Снять выделение"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Найти…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Найти &следующее вхождение"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Найти &предыдущее вхождение"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Заменить…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Масштабировать по &фактическому размеру"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Показать документ в соответствии с его фактическим размером"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Вместить в страницу"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Масштабировать по размеру страницы в окне"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Вместить по &ширине страницы"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Масштабировать по ширине страницы в окне"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Вместить по &высоте страницы"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Масштабировать по высоте страницы в окне"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "&Увеличить масштаб"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "&Уменьшить масштаб"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Масштаб…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Выбрать уровень масштабирования"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Обновить"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Обновить документ"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Вверх"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Перейти выше"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Предыдущая страница"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Перейти на предыдущую страницу"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Следующая страница"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Перейти на следующую страницу"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "П&ерейти…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Перейти &на страницу…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Перейти к строке…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Первая страница"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Перейти на первую страницу"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Последняя &страница"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Перейти на последнюю страницу"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Назад"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Перейти назад в документе"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Вперед"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Перейти вперёд в документе"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Добавить закладку"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Изменить закладки…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Проверка орфографии…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Проверить орфографию в документе"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Показать &меню"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Показать или скрыть меню"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Показать &панель инструментов"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Показать или скрыть панель инструментов"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Показать &строку состояния"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Показать или скрыть строку состояния"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Полно&экранный режим"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Настроить комбинации &клавиш…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Настроить %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Настроить &панели инструментов…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Настроить &уведомления…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "Руководство пользователя %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "&Что это?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Сообщить об ошибке…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Сменить &язык интерфейса приложения…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&О %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "О &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Удалить"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Переименовать…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Удалить в &корзину"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Сделать пожертвование"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Открыть &меню"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Открыть"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Создать"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Закрыть"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Сохранить"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Печать"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Выход"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Отменить действие"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Повторить отменённое действие"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Вырезать"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Копировать"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Вставить"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Вставить выделение"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Выделить все"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Снять выделение"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Удалить слово перед курсором"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Удалить слово после курсора"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Найти"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Найти далее"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Найти предыдущее"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Заменить"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Основная страница"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Начало документа"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Конец документа"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Предыдущий"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Далее"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Вверх"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Назад"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Вперёд"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Открыть заново"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Начало строки"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Конец строки"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Перейти к строке"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "На слово назад"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "На слово вперёд"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Добавить закладку"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Увеличить масштаб"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Уменьшить масштаб"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Полноэкранный режим"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Показать меню"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Перейти на следующую вкладку"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Перейти на предыдущую вкладку"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Справка"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Что это?"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Автодополнение текста"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Предыдущий вариант автодополнения"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Следующий вариант автодополнения"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Автодополнение подстроки"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Предыдущий элемент в списке"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Следующий элемент в списке"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Последние файлы"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Сохранить как"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Восстановить"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Предварительный просмотр"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Отправить по почте"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Очистить"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Фактический размер"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Вместить"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Вместить по ширине"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Вместить по высоте"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Масштаб"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Перейти"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Перейти на страницу"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Назад"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Вперёд"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Изменить закладки"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Проверка орфографии"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Показать панель инструментов"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Показать строку состояния"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Комбинации клавиш"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Настроить приложение"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Настроить панели инструментов"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Настроить уведомления"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Сообщить об ошибке"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Сменить язык интерфейса приложения…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "О приложении"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "О KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Удалить"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Переименовать"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Удалить в корзину"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Сделать пожертвование"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Скрыть или показать скрытые файлы"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Создать папку"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Открыть главное меню"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Открыть контекстное меню"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Утилита KDE для обновления пользовательских конфигурационных файлов"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Сохранять вывод из запущенных сценариев."
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Только для тестирования модулей: запись завершённых операций не выполняется, "
+"при каждом повторном запуске сценарии снова будут выполнены"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Проверить, требует ли обновления сам файл конфигурации."
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Файлы с инструкциями для обновления."
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Каталог, где будут созданы файлы [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "каталог"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Показать сведения о лицензии"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Использовать <файл> вместо глобального файла конфигурации"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Искать в выбранной группе. Можно использовать несколько раз для выбора "
+"вложенных групп или «<default>» для поиска в группе верхнего уровня."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Искать указанный ключ"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Значение по умолчанию"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Тип переменной"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Название группы не может быть пустым, для группы верхнего уровня используйте "
+"название «<default>»"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Тип переменной. Для логического типа укажите «bool», в остальных случаях "
+"переменная будет воспринята как строка."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Удаление заданного ключа."
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Значение для записи. Обязательно указывается. Для задания пустого значения "
+"при использовании в командной оболочке укажите пустые одинарные кавычки ''."
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Совет дня"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Только для модульного тестирования: использовать отдельный тестовый "
+#~ "каталог, чтобы не работать с настоящими файлами пользователя."
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Сохранить параметры"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Сменить язык интерфейса приложения"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Настроить"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Изменение параметров KConfig из командной строки"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "© Red Hat, Inc. и Luís Pedro Coelho, 2001"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Автор программы kreadconfig, на котором основано данное приложение"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
+
+#~ msgid ""
+#~ "_: NAME OF TRANSLATORS\n"
+#~ "Your names"
+#~ msgstr "Григорий Мохин"
+
+#~ msgid ""
+#~ "_: EMAIL OF TRANSLATORS\n"
+#~ "Your emails"
+#~ msgstr "mok@kde.ru"
--- /dev/null
+# SPDX-FileCopyrightText: 2024 kali <skkalwar999@gmail.com>
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"PO-Revision-Date: 2024-12-14 01:48+0530\n"
+"Last-Translator: kali <skkalwar999@gmail.com>\n"
+"Language-Team: Sanskrit <kde-i18n-doc@kde.org>\n"
+"Language: sa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Qt-Contexts: true\n"
+"Plural-Forms: nplurals=2; plural=(n>1);\n"
+"X-Generator: Lokalize 24.08.2\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "कृपया स्वस्य प्रणालीप्रशासकेन सह सम्पर्कं कुर्वन्तु।"
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "विन्याससञ्चिका \"%1\" लेखनीया नास्ति ।\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "मूलभूतम्"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&पृष्ठभागः"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&अग्रतः"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&गृहम्"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&नूतनम्"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "नूतनं दस्तावेजं रचयन्तु"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&उद्घाटित…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "विद्यमानं दस्तावेजं उद्घाटयन्तु"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Open &Recent"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "एकं दस्तावेजं उद्घाटयन्तु यत् अद्यैव उद्घाटितम् आसीत्"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&रक्ष्"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "दस्तावेजं रक्षन्तु"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Save &As…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "दस्तावेजं नूतननाम्ना रक्षन्तु"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Re&vert"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "दस्तावेजे कृतानि असरक्षितानि परिवर्तनानि प्रत्यागच्छन्तु"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&पिधानं करोतु"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "दस्तावेजं बन्दं कुर्वन्तु"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&मुद्रण…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "दस्तावेजं मुद्रयन्तु"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "मुद्रण पूर्वावलोकन&w"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "दस्तावेजस्य मुद्रणपूर्वावलोकनं दर्शयतु"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&मेल…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "मेलद्वारा दस्तावेजं प्रेषयन्तु"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&परिजहातु"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "अनुप्रयोगं त्यजतु"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Undo"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "अन्तिमक्रिया पूर्ववर्ती"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "पुनः&कर"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "अन्तिम अकृत क्रिया पुनः करो"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "सह&t"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "चयनं क्लिप्बोर्डं प्रति कटयन्तु"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&प्रतिलिपि"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "चयनं क्लिप्बोर्ड् प्रति प्रतिलिख्यताम्"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&पेस्ट"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "क्लिपबोर्ड सामग्रीं चिनोतु"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "स्पष्टः"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "&All इति चयनं कुर्वन्तु"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Des&lect"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&अन्वेषय…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Find &Next"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "पूर्व&पूर्वं ज्ञातव्यम्"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&प्रत्याहृ…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "&Actual Size इत्यत्र जूम कुर्वन्तु"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "दस्तावेजं तस्य वास्तविक आकारे पश्यन्तु"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&पृष्ठं प्रति उपयुक्तम्"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "विण्डो मध्ये पृष्ठं फिट् कर्तुं जूम कुर्वन्तु"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "पृष्ठ & चौड़ाई अनुकूल"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "विण्डो मध्ये पृष्ठविस्तारं युक्तं कर्तुं जूम कुर्वन्तु"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "पृष्ठ &उच्चता अनुकूलता"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "विण्डो मध्ये पृष्ठस्य ऊर्ध्वतां युक्तुं जूम् कुर्वन्तु"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "जूम &In"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "जूम &आउट"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&ज़ूम…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "जूम स्तरं चिनोतु"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&ताजगी"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "दस्तावेजं ताजगीं कुर्वन्तु"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&उपरि"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "उपरि गच्छतु"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&पूर्व पृष्ठ"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "पूर्वपृष्ठं गच्छन्तु"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&अगला पृष्ठ"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "अग्रिमपृष्ठं गच्छन्तु"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Go To…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&पृष्ठं गच्छन्तु…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&रेखायां गच्छन्तु…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&प्रथम पृष्ठ"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "प्रथमपृष्ठं गच्छन्तु"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&अन्तिम पृष्ठ"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "अन्तिमपृष्ठं गच्छन्तु"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&पृष्ठभागः"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "दस्तावेजे पुनः गच्छन्तु"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&अग्रतः"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "दस्तावेजे अग्रे गच्छन्तु"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&बुकमार्कं योजयतु"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Edit बुकमार्क्स…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&वर्तनी…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "दस्तावेजे वर्तनीपरीक्षां कुर्वन्तु"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "शो & मेनूबार"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "मेनूपट्टिकां दर्शयतु वा गोपयतु वा"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "&Toolbar दर्शयतु"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "साधनपट्टिकां दर्शयतु वा गोपयतु वा"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "St&atusbar दर्शयतु"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "स्थितिपट्टिकां दर्शयतु वा गोपयन्तु वा"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "F&ull स्क्रीन मोड"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "कीबोर्ड S&hortcuts विन्यस्तं कुर्वन्तु…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&%1 विन्यस्तं कुर्वन्तु…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Tool&bars विन्यस्तं कुर्वन्तु…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "&सूचनाः विन्यस्तं कुर्वन्तु…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 &हस्तपुस्तिका"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "किम् &इदम् ?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&रिपोर्ट बग…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "&Language विन्यस्तं कुर्वन्तु…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&%1 इत्यस्य विषये"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "विषये & WHERE इति"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&लुप्"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&पुनर्नाम…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&कचरा प्रति गच्छतु"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&वितरणं"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "&Menu उद्घाटयन्तु"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "उद्घाटित"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "नूतनम्"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "पिधानं करोतु"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "रक्ष्"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "मुद्रणम्"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "परिजहातु"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "पूर्ववत"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "पुनः करो"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "छिन्न"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "प्रतिलिपि"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "चिनोतु"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "पेस्ट चयन"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "All इति चिनोतु"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "विचयनं कुर्वन्तु"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "शब्दं पृष्ठतः विलोपयन्तु"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "शब्द अग्रे विलोपयन्तु"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "अन्वेषय"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "अग्रिमम् अन्वेष्टुम्"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Find Prev"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "प्रत्याहृ"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "गृहम्"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "आरम्भ"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "अंत"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "पूर्वतर"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "अग्रिम"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "उपरि"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "पृष्ठभागः"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "अग्रतः"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "पुनः लोड करें"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "रेखायाः आरम्भः"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "रेखायाः अन्तः"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Line इति गच्छन्तु"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "पिछड़ा शब्द"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "अग्रे शब्दः"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "बुकमार्कं योजयतु"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Zoom In इति"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Zoom Out इति"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "पूर्ण स्क्रीन मोड"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "मेनू पट्टिकां दर्शयतु"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "अग्रिम ट्याब् सक्रियं कुर्वन्तु"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "पूर्व ट्याब् सक्रियं कुर्वन्तु"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "साहाय्यम्"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "किम् एतत्"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "पाठसमाप्तिः"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "पूर्व समाप्ति मेल"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "अग्रिमः समाप्तिमेलनम्"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "उपतार सम्पूर्णता"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "सूचीयां पूर्वः मदः"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "List मध्ये अग्रिमः मदः"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Open Recent इति"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "As Save As इति"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "प्रत्यावर्तयतु"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "मुद्रण पूर्वावलोकनम्"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "मेल"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "स्पष्टः"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "वास्तविक आकारं प्रति जूम कुर्वन्तु"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "पृष्ठं प्रति फिट्"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Fit To Width इति"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Fit To Height इति"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "जूम"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "गोटो"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "पृष्ठं गच्छतु"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Document Back इति"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "दस्तावेज अग्रे"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "बुकमार्क सम्पादयतु"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "वर्तनी"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Toolbar दर्शयतु"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "स्थितिपट्टिकां दर्शयतु"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "की बन्धन"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "अनुप्रयोगं विन्यस्तं कुर्वन्तु"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Toolbars विन्यस्तं कुर्वन्तु"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "सूचनाः विन्यस्यताम्"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "बगस्य सूचनां ददातु"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "भाषा विन्यस्तं कुर्वन्तु…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "अनुप्रयोगस्य विषये"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "KDE विषये"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "लुप्"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "पुनर्नाम"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Trash इत्यत्र गच्छन्तु"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "वितरणं"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "गुप्तसञ्चिकाः दर्शयन्तु/गोपयन्तु"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Folder रचयन्तु"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "मुख्यमेनू उद्घाटयन्तु"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "सन्दर्भ मेनू उद्घाटयन्तु"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "उपयोक्तृविन्याससञ्चिकानां अद्यतनीकरणाय KDE साधनम्"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "स्क्रिप्ट्-तः आउटपुट्-परिणामान् रक्षन्तु"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"केवलं एककपरीक्षाणां कृते: कृताः प्रविष्टयः न लिखन्तु, येन प्रत्येकं पुनः चालनेन सह, स्क्रिप्ट् पुनः "
+"निष्पादिताः भवन्ति"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "config सञ्चिकायाः एव अद्यतनीकरणस्य आवश्यकता अस्ति वा इति पश्यन्तु"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "अद्यतननिर्देशान् पठितुं सञ्चिका(सञ्चिकाः)"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "[.] इत्यस्मिन् सञ्चिकाः जनयितुं निर्देशिका ।"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "निर्देशिका"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "सॉफ्टवेयर अनुज्ञापत्रं प्रदर्शयन्तु।"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "वैश्विकविन्यासस्य स्थाने <file> इत्यस्य उपयोगं कुर्वन्तु"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"समूहं द्रष्टुं मूलसमूहस्य कृते \"<default>\" इत्यस्य उपयोगं कुर्वन्तु, अथवा नेस्टेड् समूहानां कृते पुनः "
+"पुनः उपयोगं कुर्वन्तु ।"
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "अन्वेष्टुं कुञ्जी"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "पूर्वनिर्धारितं मूल्यम्"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "चरस्य प्रकारः"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "समूहनाम रिक्तं न भवितुम् अर्हति, मूलसमूहस्य कृते \"<default>\" इत्यस्य उपयोगं कुर्वन्तु"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"चरस्य प्रकारः । बूलियनस्य कृते \"bool\" इत्यस्य उपयोगं कुर्वन्तु, अन्यथा तत् स्ट्रिंग् इव "
+"व्यवह्रियते"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "यदि सक्षमं भवति तर्हि निर्दिष्टं कीलं विलोपयन्तु"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "लिखितव्यं मूल्यम् । अनिवार्यम्, एकस्मिन् शंखे '' रिक्तस्य कृते प्रयोगः"
--- /dev/null
+# Translation of kconfig6_qt to Northern Sami
+#
+# Børre Gaup <boerre@skolelinux.no>, 2004, 2005.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2005-10-28 15:26+0200\n"
+"Last-Translator: Børre Gaup <boerre@skolelinux.no>\n"
+"Language-Team: Northern Sami <l10n-no@lister.huftis.org>\n"
+"Language: se\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Environment: kde\n"
+"X-Accelerator-Marker: &\n"
+"X-Text-Markup: qtrich\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Geavat <fiila> oppalaš heivehusfiilla sajis"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Oza čoavdaga"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Variábelšládja. Geavat «bool» boolalaš árvvuid várás, muđuid dat geađahallo "
+"teakstastreŋgan."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Árvu maid cállit. Škálžžus fertet geavahit '' guorus árvvuid sajis"
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2009-11-02 17:48+0530\n"
+"Last-Translator: Danishka Navin <danishka@gmail.com>\n"
+"Language-Team: Sinhala <danishka@gmail.com>\n"
+"Language: si\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.0\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
--- /dev/null
+# translation of kwriteconfig.po to Slovak
+# Michal Sulek <misurel@gmail.com>, 2009.
+# Roman Paholík <wizzardsk@gmail.com>, 2014, 2015, 2016, 2022, 2023.
+# Mthw <jari_45@hotmail.com>, 2019.
+# SPDX-FileCopyrightText: 2019, 2020, 2024 Matej Mrenica <matejm98mthw@gmail.com>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-04-14 10:31+0200\n"
+"Last-Translator: Matej Mrenica <matejm98mthw@gmail.com>\n"
+"Language-Team: Slovak <kde-i18n-doc@kde.org>\n"
+"Language: sk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 24.02.2\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Prosím, kontaktujte svojho správcu systému."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Konfiguračný súbor \"%1\" nie je zapisovateľný.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Predvolené"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Späť"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Dopredu"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Domov"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Otvoriť"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Otvoriť nedávne"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Uložiť"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Uložiť ako"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Vrátiť"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Zavrieť"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Tlačiť"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Náhľad tlače"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Pošta"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Ukončiť"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "O aplikácii"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Späť"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Kopírovať"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Vložiť"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Vyčistiť"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Vybrať všetko"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Zrušiť výber"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Nájsť"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Nájsť nasledujúci"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Nájsť predchádzajúci"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Nahradiť"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom to Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Priblížiť na aktuálnu veľkosť"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Prispôsobiť stránke"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Prispôsobiť šírke"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Prispôsobiť výške"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Priblížiť"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Oddialiť"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Lupa"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Vybrať všetko"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Hore"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Prejsť na stránku"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Prejsť na riadok"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Prejsť na stránku"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Prejsť na riadok"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Prispôsobiť stránke"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Prejsť na riadok"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Prejsť na stránku"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Späť"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Dopredu"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Pridať záložku"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Upraviť záložky"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Pravopis"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Zobraziť ponuku"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Zobraziť ponuku"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Zobraziť panel nástrojov"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Zobraziť panel nástrojov"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Zobraziť stavový riadok"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Zobraziť stavový riadok"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Režim celej obrazovky"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "Nastaviť jazyk..."
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Nastaviť panely nástrojov"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Nastaviť upozornenia"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Čo je to"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Nahlásiť chybu"
+
+#: gui/kstandardactions_p.h:135
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Nastaviť jazyk..."
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Informácie o KDE"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Informácie o KDE"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Vymazať"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Premenovať"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Presunúť do koša"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Venovať peniaze"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt ""
+#| "KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+#| msgid "Open Main Menu"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Otvoriť hlavnú ponuku"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Otvoriť"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Nový"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Zavrieť"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Uložiť"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Tlačiť"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Ukončiť"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Späť"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Znovu"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Vystrihnúť"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopírovať"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Vložiť"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Vložiť výber"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Vybrať všetko"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Zrušiť výber"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Odstrániť slovo naspäť"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Odstrániť slovo dopredu"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Nájsť"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Nájsť nasledujúci"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Nájsť predchádzajúci"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Nahradiť"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Domov"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Začiatok"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Koniec"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Predchádzajúci"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Nasledujúci"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Hore"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Späť"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Dopredu"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Znovu načítať"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Začiatok riadku"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Koniec riadku"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Prejsť na riadok"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Späť o slovo"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Dopredu o slovo"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Pridať záložku"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Priblížiť"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Oddialiť"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Režim celej obrazovky"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Zobraziť ponuku"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktivovať nasledujúcu kartu"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktivovať predchádzajúcu kartu"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Pomocník"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Čo je to"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Dopĺňanie textu"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Predchádzajúca zhoda"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Nasledujúca zhoda"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Dopĺňanie časti textu"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Predchádzajúca položka v zozname"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Nasledujúca položka v zozname"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Otvoriť nedávne"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Uložiť ako"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Vrátiť"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Náhľad tlače"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Pošta"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Vyčistiť"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Priblížiť na aktuálnu veľkosť"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Prispôsobiť stránke"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Prispôsobiť šírke"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Prispôsobiť výške"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Lupa"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Prejsť na"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Prejsť na stránku"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dozadu v dokumente"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dopredu v dokumente"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Upraviť záložky"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Pravopis"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Zobraziť panel nástrojov"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Zobraziť stavový riadok"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Klávesové skratky"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Nastaviť aplikáciu"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Nastaviť panely nástrojov"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Nastaviť upozornenia"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Nahlásiť chybu"
+
+#: gui/kstandardshortcut.cpp:417
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Nastaviť jazyk..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "O aplikácii"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Informácie o KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Vymazať"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Premenovať"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Presunúť do koša"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Venovať peniaze"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Zobraziť/Skryť skryté súbory"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Vytvoriť priečinok"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Otvoriť hlavnú ponuku"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Otvoriť kontextovú ponuku"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE nástroj na aktualizáciu konfiguračných súborov používateľa"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Ponechať výstupné výsledky zo skriptov"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Skontrolovať, či samotný konfiguračný súbor potrebuje aktualizáciu"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Súbor(y) na čítanie inštrukcií aktualizácie z nich"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Adresár na vygenerovanie súborov [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "adresár"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Zobraziť softvérovú licenciu."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Použiť <súbor> namiesto globálneho konfiguračného súboru"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Skupina k prehľadávaniu. Použite <default> pre koreňovú skupinu alebo "
+"použite opakovane pre vnorené skupiny."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Hľadať kľúč"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Predvolená hodnota"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Typ premennej"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Názov skupiny nemôže byť prázdny, použite <default> pre koreňovú skupinu"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Typ premennej. Použite \"bool\" pre boolean, inak je považovaný za reťazec"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Ak je povolené, vymazať určený kľúč"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Hodnota pre zápis. Povinná, v shelli použite '' ako prázdnu hodnotu"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Tip dňa"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Len pre unit testy: použite adresáre testov na oddelenie od reálnych "
+#~ "súborov používateľa"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Uložiť voľby"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Prepnúť jazyk aplikácie"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Nastavenia"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Zápis KConfig položiek - pre použitie v shell skriptoch"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Napísal kreadconfig, na ktorom je toto založené"
--- /dev/null
+# Translation of kwriteconfig.po to Slovenian
+# Copyright (C) 2003 Free Software Foundation, Inc.
+#
+# Gregor Rakar <gregor.rakar@kiss.uni-lj.si>, 2003.
+# Gregor Rakar <gregor.rakar@kiss.si>, 2003.
+# Jure Repinc <jlp@holodeck1.com>, 2007, 2008.
+# Andrej Mernik <andrejm@ubuntu.si>, 2013, 2014, 2015, 2016, 2018.
+# Matjaž Jeran <matjaz.jeran@amis.net>, 2020, 2021, 2022.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-22 10:18+0200\n"
+"Last-Translator: Matjaž Jeran <matjaz.jeran@amis.net>\n"
+"Language-Team: Slovenian <lugos-slo@lugos.si>\n"
+"Language: sl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100>=3 && n"
+"%100<=4 ? 2 : 3);\n"
+"Translator: Andrej Mernik <andrejm@ubuntu.si>\n"
+"X-Generator: Poedit 3.4.4\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Obvestite vašega sistemskega skrbnika."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Nastavitvena datoteka \"%1\" ni zapisljiva.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Privzeto"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Nazaj"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Naprej"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Domov"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "Novo"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Ustvari nov dokument"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Odpri…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Odpri obstoječi dokument"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Odpri nedavno"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Odpri dokument, ki je bil nedavno odprt"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Shrani"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Shrani dokument"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Shrani kot…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Shrani dokument pod novim imenom"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Povrni"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Razveljavi neshranjene spremembe v dokumentu"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Zapri"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Zapri dokument"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Natisni…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Natisni dokument"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Predogled tiskanja"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Prikaži predogled tiska dokumenta"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "E-pošta…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Pošlji dokument po pošti"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Končaj"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Zapusti aplikacijo"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Razveljavi"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Razveljavi zadnjo dejavnost"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "Uveljavi"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Uveljavi zadnjo razveljavljeno dejavnost"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Izreži"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Izreži izbiro na odložišče"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Kopiraj"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Kopiraj izbiro na odložišče"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Prilepi"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Prilepi vsebino odložišča"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Počisti"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Izberi vse"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Odizberi"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Najdi…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Najdi naslednje"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Najdi prejšnje"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Zamenjaj"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Prilagodi na dejansko velikost"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Ogled dokumenta v njegovi dejanski velikosti"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Prilagodi strani"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Povečaj, da se stran prilega oknu"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Prilagodi stran širini"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Povečaj, da se stran prilagodi širini okna"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Prilagodi stran višini"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Povečaj, da se stran prilagodi višini okna"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Približaj"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Oddalji"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Približaj…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Izberite stopnjo povečave"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "Osveži"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Osveži dokument"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Gor"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Pojdi gor"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Prejšnja stran"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Pojdi na prejšnjo stran"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Naslednja stran"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Pojdi na naslednjo stran"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "Pojdi na…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Pojdi na stran…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Pojdi v vrstico…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Prva stran"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Pojdi na prvo stran"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Na zadnjo stran"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Pojdi na zadnjo stran"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Nazaj"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Pojdi nazaj na dokument"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Naprej"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Pojdi naprej v dokumentu"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Dod&aj zaznamek"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Uredi zaznamke…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Črkovanje…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Preveri črkovanje v dokumentu"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Pokaži &menijsko vrstico"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Pokaži ali skrij menijsko vrstico"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Pokaži orodno vrstico"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Pokaži ali skrij orodno vrstico"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Pokaži vrstico stanja"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Pokaži ali skrij vrstico stanja"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Celozaslonski način"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Konfiguriraj bližnjice na tipkovnici…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "Konfiguriraj %1 …"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Nastavi orodne vrstice…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Nastavi obvestila…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 Priročnik"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Kaj je to?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Poročaj o hrošču…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Nastavi jezik…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "O %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "O &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Izbriši"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Preimenuj…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Premakni v Smeti"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Doniraj"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Odpri &meni"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Odpri"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Novo"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Zapri"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Shrani"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Natisni"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Končaj"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Razveljavi"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Uveljavi"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Izreži"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopiraj"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Prilepi"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Prilepi izbor"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Izberi vse"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Odstrani izbiro"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Izbriši besedo vzvratno"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Izbriši besedo naprej"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Najdi"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Najdi naslednje"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Najdi prejšnje"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Zamenjaj"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Domov"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Začni"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Končaj"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Prejšnji"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Naslednji"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Gor"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Nazaj"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Naprej"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Znova naloži"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Začetek vrstice"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Konec vrstice"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Pojdi v vrstico"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Eno besedo nazaj"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Eno besedo naprej"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Dodaj zaznamek"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Približaj"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Oddalji"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Celozaslonski način"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Pokaži menijsko vrstico"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Omogoči naslednji zavihek"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Omogoči predhodni zavihek"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Pomoč"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Kaj je to"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Dopolnjevanje besedila"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Predhodni zadetek pri dopolnjevanju"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Naslednji zadetek pri dopolnjevanju"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Dopolnjevanje podniza"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Predhodni predmet seznama"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Naslednji predmet seznama"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Odpri nedavno"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Shrani kot"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Povrni"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Predogled tiskanja"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "E-pošta"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Počisti"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Prilagodi na dejansko velikost"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Prilagodi strani"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Prilagodi širini"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Prilagodi višini"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Približanje"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Pojdi na"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Pojdi na stran"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "En dokument nazaj"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "En dokument naprej"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Uredi zaznamke"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Črkovanje"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Pokaži orodno vrstico"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Pokaži vrstico stanja"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Tipkovne bližnjice"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Nastavi program"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Nastavi orodne vrstice"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Nastavi obvestila"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Poročaj o hrošču"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Nastavi jezik…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "O programu"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "O KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Izbriši"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Preimenuj"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Premakni v Smeti"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Donacija"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Prikaži/Skrij skrite datoteke"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Ustvari mapo"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Odpri glavni meni"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Odpri kontekstni meni"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Orodje KDE za posodabljanje uporabniških nastavitvenih datotek"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Ohrani rezultate izpisa skriptov"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Samo za preizkus enot: ne zapisujte vnosov kot dokončanih, tako da se ob "
+"vsaki ponovitvi skripti ponovno izvajajo"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Preveri, če nastavitvena datoteka potrebuje posodobitev"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Datoteke, iz katerih bodo prebrana navodila za posodobitev"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Direktorij kjer bodo ustvarjene datoteke [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "direktorij"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Prikaži licenco programske opreme."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Uporabi <file> namesto splošnih nastavitev"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"V kateri skupini naj se išče. Uporabite \"<default>\" za za korensko "
+"skupino ali ponovno za gnezdene skupine."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Iskani ključ"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Privzeta vrednost"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Vrsta spremenljivke"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Ime skupine ne more biti prazna, uporabite \"<default>\" za korensko skupino"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Vrsta spremenljivke. Uporabite »bool« za Boolovo, sicer se obravnava kot niz"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Izbriši označen ključ, če je omogočeno"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Vrednost za zapis. V lupini obvezno uporabite '' za prazno"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Nasvet dneva"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Samo za preizkuse enot: uporabite preizkusne mape, da ne vplivate na "
+#~ "uporabnikove datoteke"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Shrani možnosti"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Preklopi jezik programa"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Možnosti"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Zapiši vnose KConfig - za uporabo v lupinskih skriptih"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "© 2001 Red Hat, Inc. in Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Napisal je kreadconfig, na katerem temelji ta program"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# Albanian translation for kdebase-runtime
+# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009
+# This file is distributed under the same license as the kdebase-runtime package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kdebase-runtime\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2009-07-29 03:59+0000\n"
+"Last-Translator: Vilson Gjeci <vilsongjeci@gmail.com>\n"
+"Language-Team: Albanian <sq@li.org>\n"
+"Language: sq\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-04-22 15:52+0000\n"
+"X-Generator: Launchpad (build 12883)\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Përdor <file> në vend të global config"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Grupi u bllokua. Përdore shpesh për grupet fole."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Çelësi që duhet kërkuar"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# Translation of kconfig5_qt.po into Serbian.
+# Chusslove Illich <caslav.ilic@gmx.net>, 2014, 2015, 2016, 2017.
+msgid ""
+msgstr ""
+"Project-Id-Version: kconfig5_qt\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2017-08-21 22:33+0200\n"
+"Last-Translator: Chusslove Illich <caslav.ilic@gmx.net>\n"
+"Language-Team: Serbian <kde-i18n-sr@kde.org>\n"
+"Language: sr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Accelerator-Marker: &\n"
+"X-Text-Markup: qtrich\n"
+"X-Environment: kde\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Обратите се систем-администратору."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Не може се писати у поставни фајл „%1“.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Подразумевано"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Назад"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Напред"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Домаће"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Отвори"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Отвори недавни"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Сачувај"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Сачувај као"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Врати"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Затвори"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Штампај"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Преглед пред штампање"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Пошта"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Напусти"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "О програму"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Опозови"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Копирај"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Налепи"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Очисти"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Изабери све"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Поништи избор"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Нађи"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Нађи следеће"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Нађи претходно"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Замени"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Стварна величина"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Уклопи у страницу"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Уклопи у ширину"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Уклопи у висину"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Увеличај"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Умањи"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Увеличај"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Изабери све"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Горе"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Иди на страницу"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Иди на ред"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Иди на страницу"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Иди на ред"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Уклопи у страницу"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Иди на ред"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Иди на страницу"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Назад"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Напред"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Додај обележивач"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Уреди обележиваче"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Правопис"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Прикажи траку менија"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Прикажи траку менија"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Прикажи траку алатки"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Прикажи траку алатки"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Прикажи траку стања"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Прикажи траку стања"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Режим целог екрана"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Подеси траке алатки"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Подеси обавештења"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Шта је ово"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Пријави грешку"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "О КДЕ‑у"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "О КДЕ‑у"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Обриши"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Преименуј"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Премести у смеће"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Донација"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Отвори недавни"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Отвори"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Ново"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Затвори"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Сачувај"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Штампај"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Напусти"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Опозови"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Понови"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Исеци"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Копирај"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Налепи"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Налепи избор"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Изабери све"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Поништи избор"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Обриши реч уназад"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Обриши реч унапред"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Нађи"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Нађи следеће"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Нађи претходно"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Замени"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Домаће"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Почетак"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Крај"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Претходно"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Следеће"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Горе"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Назад"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Напред"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Учитај поново"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Почетак реда"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Крај реда"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Иди на ред"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Реч уназад"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Реч унапред"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Додај обележивач"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Увеличај"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Умањи"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Режим целог екрана"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Прикажи траку менија"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Активирај следећи језичак"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Активирај претходни језичак"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Помоћ"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Шта је ово"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Допуна текста"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Претходно поклапање за допуну"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Следеће поклапање за допуну"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Допуна подниске"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Претходна ставка на списку"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Следећа ставка на списку"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Отвори недавни"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Сачувај као"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Врати"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Преглед пред штампање"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Пошта"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Очисти"
+
+#: gui/kstandardshortcut.cpp:343
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Стварна величина"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Уклопи у страницу"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Уклопи у ширину"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Уклопи у висину"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Увеличај"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Иди на"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Иди на страницу"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Документ назад"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Документ напред"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Уреди обележиваче"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Правопис"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Прикажи траку алатки"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Прикажи траку стања"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Свезе тастера"
+
+#: gui/kstandardshortcut.cpp:392
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Подеси обавештења"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Подеси траке алатки"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Подеси обавештења"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Пријави грешку"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "О програму"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "О КДЕ‑у"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Обриши"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Преименуј"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Премести у смеће"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Донација"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "КДЕ‑ова алатка за ажурирање корисничких поставних фајлова"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Задржи излазне резултате из скрипти"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Провери да ли са̑м поставни фајл захтева ажурирање"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Фајлови из којих се читају инструкције за ажурирање"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Фасцикла у којој се стварају фајлови [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "фасцикла"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Прикажи лиценцу софтвера"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Користи овај фајл уместо глобалне поставе"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgctxt "main|"
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Група у којој се тражи. Понављајте за угнежђене групе."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Кључ који треба потражити"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Подразумевана вредност"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Тип променљиве"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Тип променљиве. Задајте „bool“ за логичке, у супротном се узима као "
+"„string“ (ниска)"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+# rewrite-msgid: /on a shell//
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Вредност која се уписује. Обавезно, задајте '' за празну"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Савет дана"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Само за јединичне пробе: користи пробне фасцикле да не би дирао "
+#~ "корисникове праве фајлове"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Сачувај опције"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Промени језик програма"
--- /dev/null
+# Translation of kconfig5_qt.po into Serbian.
+# Chusslove Illich <caslav.ilic@gmx.net>, 2014, 2015, 2016, 2017.
+msgid ""
+msgstr ""
+"Project-Id-Version: kconfig5_qt\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2017-08-21 22:33+0200\n"
+"Last-Translator: Chusslove Illich <caslav.ilic@gmx.net>\n"
+"Language-Team: Serbian <kde-i18n-sr@kde.org>\n"
+"Language: sr@ijekavian\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Accelerator-Marker: &\n"
+"X-Text-Markup: qtrich\n"
+"X-Environment: kde\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Обратите се систем-администратору."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Не може се писати у поставни фајл „%1“.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Подразумевано"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Назад"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Напријед"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Домаће"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Отвори"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Отвори недавни"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Сачувај"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Сачувај као"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Врати"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Затвори"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Штампај"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Преглед пред штампање"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Пошта"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Напусти"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "О програму"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Опозови"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Копирај"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Налијепи"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Очисти"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Изабери све"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Поништи избор"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Нађи"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Нађи сљедеће"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Нађи претходно"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Замијени"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Стварна величина"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Уклопи у страницу"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Уклопи у ширину"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Уклопи у висину"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Увеличај"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Умањи"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Увеличај"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Изабери све"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Горе"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Иди на страницу"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Иди на ред"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Иди на страницу"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Иди на ред"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Уклопи у страницу"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Иди на ред"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Иди на страницу"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Назад"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Напријед"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Додај обиљеживач"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Уреди обиљеживаче"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Правопис"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Прикажи траку менија"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Прикажи траку менија"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Прикажи траку алатки"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Прикажи траку алатки"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Прикажи траку стања"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Прикажи траку стања"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Режим целог екрана"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Подеси траке алатки"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Подеси обавјештења"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Шта је ово"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Пријави грешку"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "О КДЕ‑у"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "О КДЕ‑у"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Обриши"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Преименуј"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Премести у смеће"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Донација"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Отвори недавни"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Отвори"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Ново"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Затвори"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Сачувај"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Штампај"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Напусти"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Опозови"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Понови"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Исијеци"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Копирај"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Налијепи"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Налијепи избор"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Изабери све"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Поништи избор"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Обриши ријеч уназад"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Обриши ријеч унапријед"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Нађи"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Нађи сљедеће"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Нађи претходно"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Замијени"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Домаће"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Почетак"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Крај"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Претходно"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Сљедеће"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Горе"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Назад"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Напријед"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Учитај поново"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Почетак реда"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Крај реда"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Иди на ред"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Ријеч уназад"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Ријеч унапријед"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Додај обиљеживач"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Увеличај"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Умањи"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Режим целог екрана"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Прикажи траку менија"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Активирај сљедећи језичак"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Активирај претходни језичак"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Помоћ"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Шта је ово"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Допуна текста"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Претходно поклапање за допуну"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Сљедеће поклапање за допуну"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Допуна подниске"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Претходна ставка на списку"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Сљедећа ставка на списку"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Отвори недавни"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Сачувај као"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Врати"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Преглед пред штампање"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Пошта"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Очисти"
+
+#: gui/kstandardshortcut.cpp:343
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Стварна величина"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Уклопи у страницу"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Уклопи у ширину"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Уклопи у висину"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Увеличај"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Иди на"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Иди на страницу"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Документ назад"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Документ напријед"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Уреди обиљеживаче"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Правопис"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Прикажи траку алатки"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Прикажи траку стања"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Свезе тастера"
+
+#: gui/kstandardshortcut.cpp:392
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Подеси обавјештења"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Подеси траке алатки"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Подеси обавјештења"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Пријави грешку"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "О програму"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "О КДЕ‑у"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Обриши"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Преименуј"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Премести у смеће"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Донација"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "КДЕ‑ова алатка за ажурирање корисничких поставних фајлова"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Задржи излазне резултате из скрипти"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Провјери да ли са̑м поставни фајл захтијева ажурирање"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Фајлови из којих се читају инструкције за ажурирање"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Фасцикла у којој се стварају фајлови [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "фасцикла"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Прикажи лиценцу софтвера"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Користи овај фајл умјесто глобалне поставе"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgctxt "main|"
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Група у којој се тражи. Понављајте за угнијежђене групе."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Кључ који треба потражити"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Подразумијевана вредност"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Тип промјенљиве"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Тип промјенљиве. Задајте „bool“ за логичке, у супротном се узима као "
+"„string“ (ниска)"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+# rewrite-msgid: /on a shell//
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Вриједност која се уписује. Обавезно, задајте '' за празну"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Савјет дана"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Само за јединичне пробе: користи пробне фасцикле да не би дирао "
+#~ "корисникове праве фајлове"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Сачувај опције"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Промијени језик програма"
--- /dev/null
+# Translation of kconfig5_qt.po into Serbian.
+# Chusslove Illich <caslav.ilic@gmx.net>, 2014, 2015, 2016, 2017.
+msgid ""
+msgstr ""
+"Project-Id-Version: kconfig5_qt\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2017-08-21 22:33+0200\n"
+"Last-Translator: Chusslove Illich <caslav.ilic@gmx.net>\n"
+"Language-Team: Serbian <kde-i18n-sr@kde.org>\n"
+"Language: sr@ijekavianlatin\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Accelerator-Marker: &\n"
+"X-Text-Markup: qtrich\n"
+"X-Environment: kde\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Obratite se sistem-administratoru."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Ne može se pisati u postavni fajl „%1“.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Podrazumevano"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Nazad"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Naprijed"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Domaće"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Otvori"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Otvori nedavni"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Sačuvaj"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Sačuvaj kao"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Vrati"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Zatvori"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Štampaj"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Pregled pred štampanje"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Pošta"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Napusti"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "O programu"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Opozovi"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Kopiraj"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Nalijepi"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Očisti"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Izaberi sve"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Poništi izbor"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Nađi"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Nađi sljedeće"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Nađi prethodno"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Zamijeni"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Stvarna veličina"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Uklopi u stranicu"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Uklopi u širinu"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Uklopi u visinu"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Uveličaj"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Umanji"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Uveličaj"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Izaberi sve"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Gore"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Idi na stranicu"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Idi na red"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Idi na stranicu"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Idi na red"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Uklopi u stranicu"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Idi na red"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Idi na stranicu"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Nazad"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Naprijed"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Dodaj obilježivač"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Uredi obilježivače"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Pravopis"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Prikaži traku menija"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Prikaži traku menija"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Prikaži traku alatki"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Prikaži traku alatki"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Prikaži traku stanja"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Prikaži traku stanja"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Režim celog ekrana"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Podesi trake alatki"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Podesi obavještenja"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Šta je ovo"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Prijavi grešku"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "O KDE‑u"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "O KDE‑u"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Obriši"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Preimenuj"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Premesti u smeće"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Donacija"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Otvori nedavni"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Otvori"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Novo"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Zatvori"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Sačuvaj"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Štampaj"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Napusti"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Opozovi"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Ponovi"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Isijeci"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopiraj"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Nalijepi"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Nalijepi izbor"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Izaberi sve"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Poništi izbor"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Obriši riječ unazad"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Obriši riječ unaprijed"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Nađi"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Nađi sljedeće"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Nađi prethodno"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Zamijeni"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Domaće"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Početak"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Kraj"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Prethodno"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Sljedeće"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Gore"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Nazad"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Naprijed"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Učitaj ponovo"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Početak reda"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Kraj reda"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Idi na red"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Riječ unazad"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Riječ unaprijed"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Dodaj obilježivač"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Uveličaj"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Umanji"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Režim celog ekrana"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Prikaži traku menija"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktiviraj sljedeći jezičak"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktiviraj prethodni jezičak"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Pomoć"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Šta je ovo"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Dopuna teksta"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Prethodno poklapanje za dopunu"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Sljedeće poklapanje za dopunu"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Dopuna podniske"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Prethodna stavka na spisku"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Sljedeća stavka na spisku"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Otvori nedavni"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Sačuvaj kao"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Vrati"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Pregled pred štampanje"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Pošta"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Očisti"
+
+#: gui/kstandardshortcut.cpp:343
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Stvarna veličina"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Uklopi u stranicu"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Uklopi u širinu"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Uklopi u visinu"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Uveličaj"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Idi na"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Idi na stranicu"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dokument nazad"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dokument naprijed"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Uredi obilježivače"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Pravopis"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Prikaži traku alatki"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Prikaži traku stanja"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Sveze tastera"
+
+#: gui/kstandardshortcut.cpp:392
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Podesi obavještenja"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Podesi trake alatki"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Podesi obavještenja"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Prijavi grešku"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "O programu"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "O KDE‑u"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Obriši"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Preimenuj"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Premesti u smeće"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Donacija"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE‑ova alatka za ažuriranje korisničkih postavnih fajlova"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Zadrži izlazne rezultate iz skripti"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Provjeri da li sȃ̑m postavni fajl zahtijeva ažuriranje"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Fajlovi iz kojih se čitaju instrukcije za ažuriranje"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Fascikla u kojoj se stvaraju fajlovi [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "fascikla"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Prikaži licencu softvera"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Koristi ovaj fajl umjesto globalne postave"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgctxt "main|"
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Grupa u kojoj se traži. Ponavljajte za ugniježđene grupe."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Ključ koji treba potražiti"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Podrazumijevana vrednost"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Tip promjenljive"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Tip promjenljive. Zadajte „bool“ za logičke, u suprotnom se uzima kao "
+"„string“ (niska)"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+# rewrite-msgid: /on a shell//
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Vrijednost koja se upisuje. Obavezno, zadajte '' za praznu"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Savjet dana"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Samo za jedinične probe: koristi probne fascikle da ne bi dirao "
+#~ "korisnikove prave fajlove"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Sačuvaj opcije"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Promijeni jezik programa"
--- /dev/null
+# Translation of kconfig5_qt.po into Serbian.
+# Chusslove Illich <caslav.ilic@gmx.net>, 2014, 2015, 2016, 2017.
+msgid ""
+msgstr ""
+"Project-Id-Version: kconfig5_qt\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2017-08-21 22:33+0200\n"
+"Last-Translator: Chusslove Illich <caslav.ilic@gmx.net>\n"
+"Language-Team: Serbian <kde-i18n-sr@kde.org>\n"
+"Language: sr@latin\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Accelerator-Marker: &\n"
+"X-Text-Markup: qtrich\n"
+"X-Environment: kde\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Obratite se sistem-administratoru."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Ne može se pisati u postavni fajl „%1“.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Podrazumevano"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Nazad"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Napred"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Domaće"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Otvori"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Otvori nedavni"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Sačuvaj"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Sačuvaj kao"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Vrati"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Zatvori"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Štampaj"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Pregled pred štampanje"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Pošta"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Napusti"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "O programu"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Opozovi"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Kopiraj"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Nalepi"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Očisti"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Izaberi sve"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Poništi izbor"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Nađi"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Nađi sledeće"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Nađi prethodno"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Zameni"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Stvarna veličina"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Uklopi u stranicu"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Uklopi u širinu"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Uklopi u visinu"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Uveličaj"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Umanji"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Uveličaj"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Izaberi sve"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Gore"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Idi na stranicu"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Idi na red"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Idi na stranicu"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Idi na red"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Uklopi u stranicu"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Idi na red"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Idi na stranicu"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Nazad"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Napred"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Dodaj obeleživač"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Uredi obeleživače"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Pravopis"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Prikaži traku menija"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Prikaži traku menija"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Prikaži traku alatki"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Prikaži traku alatki"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Prikaži traku stanja"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Prikaži traku stanja"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Režim celog ekrana"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Podesi trake alatki"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Podesi obaveštenja"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Šta je ovo"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Prijavi grešku"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "O KDE‑u"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "O KDE‑u"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Obriši"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Preimenuj"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Premesti u smeće"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Donacija"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Otvori nedavni"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Otvori"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Novo"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Zatvori"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Sačuvaj"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Štampaj"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Napusti"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Opozovi"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Ponovi"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Iseci"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopiraj"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Nalepi"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Nalepi izbor"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Izaberi sve"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Poništi izbor"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Obriši reč unazad"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Obriši reč unapred"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Nađi"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Nađi sledeće"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Nađi prethodno"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Zameni"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Domaće"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Početak"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Kraj"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Prethodno"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Sledeće"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Gore"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Nazad"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Napred"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Učitaj ponovo"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Početak reda"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Kraj reda"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Idi na red"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Reč unazad"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Reč unapred"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Dodaj obeleživač"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Uveličaj"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Umanji"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Režim celog ekrana"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Prikaži traku menija"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktiviraj sledeći jezičak"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktiviraj prethodni jezičak"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Pomoć"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Šta je ovo"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Dopuna teksta"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Prethodno poklapanje za dopunu"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Sledeće poklapanje za dopunu"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Dopuna podniske"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Prethodna stavka na spisku"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Sledeća stavka na spisku"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Otvori nedavni"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Sačuvaj kao"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Vrati"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Pregled pred štampanje"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Pošta"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Očisti"
+
+#: gui/kstandardshortcut.cpp:343
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Stvarna veličina"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Uklopi u stranicu"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Uklopi u širinu"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Uklopi u visinu"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Uveličaj"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Idi na"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Idi na stranicu"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dokument nazad"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dokument napred"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Uredi obeleživače"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Pravopis"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Prikaži traku alatki"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Prikaži traku stanja"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Sveze tastera"
+
+#: gui/kstandardshortcut.cpp:392
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Podesi obaveštenja"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Podesi trake alatki"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Podesi obaveštenja"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Prijavi grešku"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "O programu"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "O KDE‑u"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Obriši"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Preimenuj"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Premesti u smeće"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Donacija"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE‑ova alatka za ažuriranje korisničkih postavnih fajlova"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Zadrži izlazne rezultate iz skripti"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Proveri da li sȃ̑m postavni fajl zahteva ažuriranje"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Fajlovi iz kojih se čitaju instrukcije za ažuriranje"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Fascikla u kojoj se stvaraju fajlovi [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "fascikla"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Prikaži licencu softvera"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Koristi ovaj fajl umesto globalne postave"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgctxt "main|"
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "Grupa u kojoj se traži. Ponavljajte za ugnežđene grupe."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Ključ koji treba potražiti"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Podrazumevana vrednost"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Tip promenljive"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Tip promenljive. Zadajte „bool“ za logičke, u suprotnom se uzima kao "
+"„string“ (niska)"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+# rewrite-msgid: /on a shell//
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Vrednost koja se upisuje. Obavezno, zadajte '' za praznu"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Savet dana"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Samo za jedinične probe: koristi probne fascikle da ne bi dirao "
+#~ "korisnikove prave fajlove"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Sačuvaj opcije"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Promeni jezik programa"
--- /dev/null
+# translation of kwriteconfig.po to Swedish
+# Översättning av kwriteconfig.po till svenska
+# Copyright (C).
+#
+# Mattias Newzella <newzella@linux.nu>, 2003.
+# SPDX-FileCopyrightText: 2007, 2008, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2024 Stefan Asserhäll <stefan.asserhall@gmail.com>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-06-19 20:28+0200\n"
+"Last-Translator: Stefan Asserhäll <stefan.asserhall@gmail.com>\n"
+"Language-Team: Swedish <kde-i18n-doc@kde.org>\n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 23.08.5\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr " Kontakta systemadministratören."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Inställningsfilen \"%1\" är inte skrivbar.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Förval"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Till&baka"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Framåt"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Hem"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Ny"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Skapa nytt dokument"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Ö&ppna…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Öppna ett befintligt dokument"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Öppna s&enaste"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Öppna ett dokument som nyligen öppnades"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Spara"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Spara dokument"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Spara s&om…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Spara aktuellt dokument med nytt namn"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Å&terställ"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Ångra osparade ändringar gjorda i dokumentet"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Stäng"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Stäng dokument"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Skriv &ut…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Skriv ut dokument"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "&Förhandsgranska utskrift"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Visa en förhandsgranskning av dokumentutskrift"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&E-post…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Skicka dokument med e-post"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "&Avsluta"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Avsluta program"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Å&ngra"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Ångra senaste åtgärden"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "&Gör om"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Gör om senast ångrade åtgärd"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Klipp u&t"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Klipp ut markering till klippbordet"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "K&opiera"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Kopiera markering till klippbordet"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "K&listra in"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Klistra in klippbordets innehåll"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Re&nsa"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Markera &alla"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "A&vmarkera"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Sök…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Sök &igen"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Sök &föregående"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Ersätt…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Zooma till &verklig storlek"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Visa dokumentet med verklig storlek"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Fyll sidan"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Zooma för att anpassa sidan till fönstret"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Fyll sidans &bredd"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Zooma för att anpassa sidans bredd till fönstret"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Fyll sidans &höjd"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Zooma för att anpassa sidans höjd till fönstret"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Zooma &in"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Zooma &ut"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Zooma…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Välj zoomnivå"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Uppdatera"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Uppdatera dokumentet"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Uppåt"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Gå uppåt"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Föregående sida"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Gå till föregående sida"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Nästa sida"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Gå till nästa sida"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "&Gå till…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "&Gå till sida…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "&Gå till rad…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "&Första sidan"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Gå till första sidan"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Sista sidan"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Gå till sista sidan"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Till&baka"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Gå bakåt i dokumentet"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Framåt"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Gå framåt i dokumentet"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Lägg till bokmärke"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "R&edigera bokmärken…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "&Stavning…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Kontrollera dokumentets stavning"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Visa &menyrad"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Visa eller dölj menyrad"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Visa verk&tygsrad"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Visa eller dölj verktygsrad"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Visa st&atusrad"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Visa eller dölj statusrad"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "F&ullskärmsläge"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Anpassa snabbtan&genter…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "A&npassa %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Anpassa &verktygsrader…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Anpassa u&nderrättelser…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "&Handbok %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Vad är &det här?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Rapportera fel…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Anpassa s&pråk…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Om %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Om &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Ta bort"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "&Byt namn…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Flytta till papperskorgen"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Ge bidrag"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Visa &meny"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Öppna"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Ny"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Stäng"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Spara"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Skriv ut"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Avsluta"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Ångra"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Gör om"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Klipp ut"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopiera"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Klistra in"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Klistra in markering"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Markera alla"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Avmarkera"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Ta bort ord bakåt"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Ta bort ord framåt"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Sök"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Sök igen"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Sök föregående"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Ersätt"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Hem"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Början"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Slutet"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Föregående"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Nästa"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Uppåt"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Tillbaka"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Framåt"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Uppdatera"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Början på raden"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Slutet på raden"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Gå till rad"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Bakåt ett ord"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Framåt ett ord"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Lägg till bokmärke"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Zooma in"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Zooma ut"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Fullskärmsläge"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Visa menyrad"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Aktivera nästa flik"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Aktivera föregående flik"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Hjälp"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Vad är det här"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Textkomplettering"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Föregående kompletteringsträff"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Nästa kompletteringsträff"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Delsträngskomplettering"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Föregående post i listan"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Nästa post i listan"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Öppna senaste"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Spara som"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Återställ"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Förhandsgranskning av utskrift"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "E-post"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Rensa"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Zooma till verklig storlek"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Fyll sidan"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Fyll sidans bredd"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Fyll sidans höjd"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Zooma"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Gå till"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Gå till sida"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Dokument bakåt"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Dokument framåt"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Redigera bokmärken"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Stavning"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Visa verktygsrad"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Visa statusrad"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Tangentbindningar"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Anpassa program"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Anpassa verktygsrader"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Anpassa underrättelser"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Rapportera fel"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Anpassa språk…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Om programmet"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Om KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Ta bort"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Byt namn"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Flytta till papperskorgen"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Ge bidrag"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Visa eller dölj dolda filer"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Skapa katalog"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Visa huvudmeny"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Visa sammanhangsberoende meny"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE-verktyg för uppdatering av användarinställningsfiler"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Behåll utmatade resultat från skript"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Enbart för enhetstester: skriv inte de färdiga posterna, så att skripten "
+"exekveras igen vid varje omkörning"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Kontrollera om inställningsfilen själv kräver uppdatering"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Fil(er) att läsa uppdaterade instruktioner från"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Katalog att skapa filer i [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "katalog"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Visa programvarulicens."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Använd <fil> istället för globala inställningar"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Grupp att titta i. Använd \"<förval>\" för rotgruppen, eller använd "
+"upprepade gånger för nästlade grupper."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Nyckel att söka efter"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Förvalt värde"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Typ av variabel"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "Gruppnamn kan inte vara tomt, använd \"<förval>\" för rotgruppen"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Typ av variabel. Använd \"bool\" för ett Booleskt värde, annars behandlas "
+"det som en sträng."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Ta bort den designerade nyckeln om aktiverad"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Värdet att skriva. Krävs, använd '' för tomt värde i ett skal."
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Dagens tips"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Bara för enhetstester: Använd testkataloger för att undvika användarens "
+#~ "riktiga filer"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Spara alternativ"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Ändra programmets språk"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Inställningar"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "Inställningsskrivare"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Skriv poster till Kconfig, för användning i skalskript"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "© 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Skrev kreadconfig som det här är baserat på"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# translation of kwriteconfig.po to
+# translation of kwriteconfig.po to Tamil
+# Copyright (C) 2004 Free Software Foundation, Inc.
+#
+# Vasee Vaseeharan <vasee@ieee.org>, 2004.
+# Ambalam <tamilpc@ambalam.com>, 2004.
+# SPDX-FileCopyrightText: 2021, 2022, 2023, 2024 Kishore G <kishore96@gmail.com>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-12-08 14:54+0530\n"
+"Last-Translator: Kishore G <kishore96@gmail.com>\n"
+"Language-Team: Tamil <kde-i18n-doc@kde.org>\n"
+"Language: ta\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+"X-Generator: Lokalize 24.08.3\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "உங்கள் கணினி நிர்வாகியை தொடர்பு கொள்ளுங்கள்."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "\"%1\" எனும் விருப்பத்தேர்வு கோப்பிற்கு எழுத முடியவில்லை.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "இயல்பிருப்பு"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&பின்னே"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "மு&ன்னே"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "மு&கப்பு"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "பு&தியது"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "புதிய ஆவணத்தை உருவாக்கும்"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "தி&ற…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "ஏற்கனவே உள்ள ஆவணத்தை திறக்கும்"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "சமீபமானவ&ற்றை திற"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "சமீபத்தில் திறக்கப்பட்ட ஆவணத்தை திறக்கும்"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&சேமி"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "ஆவணத்தை சேமிக்கம்"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "வேறு பெ&யரில் சேமி…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "ஆவணத்தை வேறு பெயரில் சேமிக்கும்"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "மீ&ட்டமை"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "சேமிக்கப்படாத மாற்றங்களை செயல்நீக்கும்"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&மூடு"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "ஆவணத்தை மூடும்"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&அச்சிடு…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "ஆவணத்தை அச்சிடும்"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "அச்சு முன்னோட்டம்"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "ஆவணம் அச்சிடப்பட்டால் எப்படி இருக்கும் என ஒரு மூன்னோட்டத்தை காட்டும்"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "அ&ஞ்சலிடு…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "ஆவணத்தை மின்னஞ்சல் மூலம் அனுப்பும்"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "வெ&ளியேறு"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "செயலியிலிருந்து வெளியேறும்"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&செயல்நீக்கு"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "கடைசியாக செய்ததை செயல்நீக்கும்"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "&மீளச்செய்"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "கடைசியாக செயல்நீக்கியதை மீளச்செய்யும்"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&வெட்டு"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "தேர்ந்தெடுத்ததை வெட்டி பிடிப்புப்பலகையில் இடும்"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&நகலெடு"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "தேர்ந்தெடுத்ததை பிடிப்புப்பலகைக்கு நகலெடுக்கும்"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&ஒட்டு"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "பிடிப்புப்பலகையில் உள்ளதை ஒட்டும்"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "&காலியாக்கு"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "அ&னைத்தையும் தேர்வு செய்"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "தே&ர்வை நிராகரி"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&கண்டுபிடி…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "அ&டுத்ததை கண்டுபிடி"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "மு&ந்தையதை கண்டுபிடி"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&மாற்று…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "&உண்மையான அளவில் காட்டு"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "ஆவணத்தை அதன் உண்மையான அளவில் காட்டும்"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&பக்கத்துடன் பொருத்து"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "ஒரு பக்கத்தை முழுமையாக காட்டும்படி உருப்பெருக்கத்தை அமைக்கும்"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "பக்க அகலத்துடன் பொருத்து"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "பக்கத்தின் முழு அகலத்தை சாளரத்தில் காட்டும்படி உருப்பெருக்கத்தை அமை"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "பக்க உயரத்துடன் பொருத்து"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "பக்கத்தின் முழு உயரத்தை சாளரத்தில் காட்டும்படி உருப்பெருக்கத்தை அமை"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "பெரிதாக்கு"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "சிறிதாக்கு"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "உருப்பெருக்கம்…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "உருப்பெருக்க அளவை தேர்வு செய்"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "புதுப்பி"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "ஆவணத்தை புதுப்பி"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "மேலே"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "மேலே செல்"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "முந்தைய பக்கம்"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "முந்தைய பக்கத்திற்கு செல்"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "அடுத்த பக்கம்"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "அடுத்த பக்கத்திற்கு செல்"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "இங்கு செல்…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "பக்கத்திற்கு செல்…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "வரிக்கு செல்…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "முதல் பக்கம்"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "முதல் பக்கத்திற்கு செல்"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "கடைசி பக்கம்"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "கடைசி பக்கத்திற்கு செல்"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "பின்னே"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "ஆவணத்தில் பின்னே செல்"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "முன்னே"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "ஆவணத்தில் முன்னே செல்"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "நினைவுக்குறியை சேர்"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "நினைவுக்குறிகளை திருத்து"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "எழுத்தாக்கம்"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "ஆவணத்தின் எழுத்தாக்கத்தை சரிபார்"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "பட்டிப்பட்டையை காட்டு"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "பட்டிப்பட்டையை காட்டு அல்லது மறை"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "கருவிப்பட்டையை காட்டு"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "கருவிப்பட்டையை காட்டு அல்லது மறை"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "நிலைப்பட்டையை காட்டு"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "நிலைப்பட்டையை காட்டு அல்லது மறை"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "முழுத்திரை பயன்முறை"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "விசை சுருக்குவழிகளை அமை…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "%1 தனை அமை…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "கருவிப்பட்டைகளை அமை…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "அறிவிப்புகளை அமை…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 கையேடு"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "இது என்ன?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "பிழையை தெரிவி…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "மொழியை அமை…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "%1 பற்றி"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "கே.டீ.யீ. பற்றி"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "நீக்கு"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "மறுபெயரிடு…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "அகற்றிடத்துக்கு நகர்த்து"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "நன்கொடை அளிப்பது"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "பட்டியை திற"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "திற"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "புதியது"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "மூடு"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "சேமி"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "அச்சிடு"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "வெளியேறு"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "செயல்நீக்கு"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "மீளச்செய்"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "வெட்டு"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "நகலெடு"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "ஒட்டு"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "தேர்வை ஒட்டு"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "அனைத்தையும் தேர்ந்தெடு"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "தேர்வை நிராகரி"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "பின்னோக்கி சொல்லை நீக்கு"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "முன்னோக்கி சொல்லை நீக்கு"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "தேடு"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "அடுத்ததை தேடு"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "முந்தையதை தேடு"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "மாற்று"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "முகப்பு"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "தொடக்கம்"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "முடிவு"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "முந்தையது"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "அடுத்தது"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "மேலே"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "பின்னே"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "முன்னே"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "மீளேற்று"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "வரியின் தொடக்கம்"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "வரியின் முடிவு"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "வரிக்கு செல்"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "ஒரு சொல் பின்செல்"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "ஒரு சொல் முன்செல்"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "நினைவுக்குறியை சேர்"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "பெரிதாக்கு"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "சிறிதாக்கு"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "முழுத்திரை பயன்முறை"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "பட்டிப் பட்டையை காட்டு"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "அடுத்த கீற்றை செயல்படுத்து"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "முந்தைய கீற்றை செயல்படுத்து"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "உதவி"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "இது என்ன"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "உரையை நிரப்புதல்"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "முந்தைய பொருத்தமான நிறைவு"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "அடுத்த பொருத்தமான நிறைவு"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "துணைச்சரத்தை நிரப்புதல்"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "பட்டியலில் முந்தைய உருப்படி"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "பட்டியலில் அடுத்த உருப்படி"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "சமீபமானவற்றை திற"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "இவ்வாறு சேமி"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "மீட்டமை"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "அச்சின் முன்னோட்டம்"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "அஞ்சலிடு"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "காலியாக்கு"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "உண்மையான அளவில் காட்டு"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "பக்கத்துடன் பொருத்து"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "பக்க அகலத்துடன் பொருத்து"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "பக்க உயரத்துடன் பொருத்து"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "உருப்பெருக்கம்"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "வரிக்கு செல்"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "பக்கத்திற்கு செல்"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "ஆவணத்தில் பின்செல்"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "ஆவணத்தில் முன்செல்"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "நினைவுக்குறிகளை திருத்து"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "எழுத்தாக்கம்"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "கருவிப்பட்டையை காட்டு"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "நிலைப்பட்டையை காட்டு"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "விசைச்சுருக்குவழிகள்"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "செயலியை அமை"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "கருவிப்பட்டைகளை அமை"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "அறிவிப்புகளை அமை"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "பிழையை தெரிவி"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "மொழியை அமை…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "செயலியை பற்றி"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "கே.டீ.யீ. பற்றி"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "நீக்கு"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "மறுபெயரிடு"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "அகற்றிடத்துக்கு நகர்த்து"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "நன்கொடை அளியுங்கள்"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "மறைந்துள்ள கோப்புகளை காட்டு/மறை"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "அடைவை உருவாக்கு"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "பிரதானப் பட்டியைத் திற"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "வலது-க்ளிக் பட்டியை திற"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "பயனரின் விருப்பத்தேர்வு கோப்புகளை புதுப்பிக்கும் கே.டீ.யீ. நிரல்"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "சிறுநிரல்கள் தரும் வெளியீட்டை காட்டு"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"சோதனைக்கு மட்டும்: முடித்தபின் பதிவுகளை எழுதாதே. இவ்வாறு இருந்தால், ஒவ்வொரு முறையும் "
+"இந்நிரல் இயக்கப்படும்போது உரிய சிறுநிரல்கள் இயக்கப்படும்."
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "விருப்பத்தேர்வு கோப்பை புதுப்பிக்க வேண்டுமா என்று பார்"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "புதுப்பிப்பதற்கான வழிமுறைகளை எந்த கோப்பு(கள்)-இலிருந்து படிக்க வேண்டும்"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "எந்த அடைவில் கோப்புகளை உருவாக்க வேண்டும் [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "அடைவு"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "நிரலின் உரிமத்தை காட்டு."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "பொதுவான அமைப்புகளுக்கு பதிலாக <file> என்பதை பயன்படுத்து"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"எந்த தொகுப்பில் தேட வேண்டும். அடிப்படை தொகுப்புக்கு \"<default>\" என்பதை "
+"பயன்படுத்துங்கள். சார் தொகுப்புகளை சுட்ட இதை பலமுறை பயன்படுத்தலாம்."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "கண்டுபிடிக்க வேண்டிய பதிவு"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "இயல்பிருப்பு மதிப்பு"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "மாறி வகை"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"தொகுப்பின் பெயர் காலியாக இருக்கக்கூடாது. அடிப்படை தொகுப்புக்கு \"<default>\" என்பதை "
+"பயன்படுத்துங்கள்"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"மாறியின் வகை. பூலியனுக்கு \"bool\" என்பதை பயன்படுத்த வேண்டும், இல்லையேல் சரமாக "
+"கருதப்படும்."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "இது இயக்கப்பட்டால் குறிப்பிட்ட பதிவை நீக்கு"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"எழுத வேண்டிய மதிப்பு. முனையத்தில் பயன்படுத்தும்போது காலியான மதிப்பை இட '' என்பதை "
+"பயன்படுத்துங்கள்"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "இன்றைய தகவல்"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "சோதனைகளுக்கு மட்டும்: பயனரின் உண்மையான கோப்புகளை தொடாமல், சோதனைக்கென தனிப்பட்ட "
+#~ "அடைவுகளை பயன்படுத்தும்."
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "விருப்பங்களை சேமி"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "கேஎழுதுவடிவமைப்பு"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "கேவடிவமைப்பு உள்ளீடுகளை எழுது - உறையகம் ஸ்கிரிப்ட்டில் பயண்படுத்த. "
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "zhateam"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "tamilpc@ambalam.com"
--- /dev/null
+# translation of kwriteconfig.po to Telugu
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Krishna Babu K <kkrothap@redhat.com>, 2009.
+# Sripath Roy Koganti <sripathroy@swecha.net>, 2019.
+# B.Poojitha <bondalakuntapoojitha99@gmail.com>, 2019.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2019-03-01 22:44+0530\n"
+"Last-Translator: B.Poojitha <bondalakuntapoojitha99@gmail.com>\n"
+"Language-Team: Telugu <reachus@swecha.net>\n"
+"Language: te\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Gtranslator 2.91.7\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "దయచేసి మీ సిస్టమ్ నిర్వాహకుడిని సంప్రదించండి."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "ఆకృతీకరణ ఫైలు \"%1\" వ్రాయదగినది కాదు.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "అప్రమేయం"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "వెనక్కి"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "మునుముందుకు"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "నివాసం"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "తెరువు"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "ఇటీవల తెరువు"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "సేవ్"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "ఇలా సేవ్ చేయండి"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "తిరిగి వెళ్లు"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "మూత"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "ముద్రణ"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "ముద్రణా పరిదృశ్యం"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "తపాల"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "త్యజించు"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "అప్లికేషన్ గురించి"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "చేసింది రద్దు"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "నకలు"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "అతికించు"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "మూలం"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "అన్ని ఎంచుకోండి"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "యెంపికను తీసివేయుము"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "కనుగొనండి"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "తదుపరిది కనుగొనండి"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "మునుపటి కనుగొను"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "పునఃస్థాపించుము"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "అసలైన కొలత"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "పేజీకి సరిపడు"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "వెడల్పు సరిపరుచు "
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "పొడవు సరిపరచు "
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "పెద్దదిగా చూపు"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "చిన్నగా చేయుము "
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "జూమ్"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "అన్ని ఎంచుకోండి"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "పైన "
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "పేజీకి వేళ్ళు "
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "వరుస వెళ్లండి"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "పేజీకి వేళ్ళు "
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "వరుస వెళ్లండి"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "పేజీకి సరిపడు"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "వరుస వెళ్లండి"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "పేజీకి వేళ్ళు "
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "వెనక్కి"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "మునుముందుకు"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "బుక్మార్క్ జోడించు"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "బుక్మార్క్లను సవరించండి"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "అక్షరక్రమం"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "జాబితా బార్ను చూపు"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "జాబితా బార్ను చూపు"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "ఉపకరణపట్టీని చూపు"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "ఉపకరణపట్టీని చూపు"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "స్థితి బార్ చూపించు"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "స్థితి బార్ చూపించు"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "పూర్తి స్క్రీన్ విధం"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "టూల్బార్లు ఆకృతీకరించు"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "నోటిఫికేషన్లను ఆకృతీకరించు"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "ఇది ఏమిటి"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "బగ్ను నివేదించు"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "KDE గురించి"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "KDE గురించి"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "తొలగించు"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "పేరుమార్చు"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "చెత్తలో వేయి"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "దానం"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "ఇటీవల తెరువు"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "తెరువు"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "కొత్త"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "మూత"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "సేవ్"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "ముద్రణ"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "త్యజించు"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "చేసింది రద్దు"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "మళ్ళీచేయు"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "కోయు"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "నకలు"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "అతికించు"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "ఎంపికను అతికించండి"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "అన్ని ఎంచుకోండి"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "యెంపికను తీసివేయుము"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "పదం వెనుకకు తొలగించు"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "ముందు పదమును తొలగించుము"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "కనుగొనండి"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "తదుపరిది కనుగొనండి"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "మునుపటి కనుగొను"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "పునఃస్థాపించుము"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "నివాసం"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "ప్రారంభం"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "ముగింపు"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "ముందు"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "తరువాత"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "పైన "
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "వెనక్కి"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "మునుముందుకు"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "తిరిగి ప్రారంభించు "
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "వరుస మొదలు "
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "వరుస ముగింపు"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "వరుస వెళ్లండి"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "వెనుక పదం"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "ముందు పదం "
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "బుక్మార్క్ జోడించు"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "పెద్దదిగా చూపు"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "చిన్నగా చేయుము "
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "పూర్తి స్క్రీన్ విధం"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "జాబితా బార్ను చూపు"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "తదుపరి టాబ్ని సక్రియం చేయండి"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "మునుపటి ట్యాబ్ను సక్రియం చేయండి"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "సహాయం"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "ఇది ఏమిటి"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "పాఠం పూర్తి"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "మునుపటి పూర్తి మ్యాచ్"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "తదుపరి పూర్తి మ్యాచ్"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "ఉపశీర్షిక పూర్తి"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "జాబితాలోని మునుపటి అంశం"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "జాబితాలో తదుపరి అంశం"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "ఇటీవల తెరువు"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "ఇలా సేవ్ చేయండి"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "తిరిగి వెళ్లు"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "ముద్రణా పరిదృశ్యం"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "తపాల"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "మూలం"
+
+#: gui/kstandardshortcut.cpp:343
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "అసలైన కొలత"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "పేజీకి సరిపడు"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "వెడల్పు సరిపరుచు "
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "పొడవు సరిపరచు "
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "జూమ్"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "వెళ్ళు"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "పేజీకి వేళ్ళు "
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "పత్రం వెనుకకు"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "పత్రం ముందు"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "బుక్మార్క్లను సవరించండి"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "అక్షరక్రమం"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "ఉపకరణపట్టీని చూపు"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "స్థితి బార్ చూపించు"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "కీ బైండింగ్స్"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "అప్లికేషన్ను ఆకృతీకరించు"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "టూల్బార్లు ఆకృతీకరించు"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "నోటిఫికేషన్లను ఆకృతీకరించు"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "బగ్ను నివేదించు"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "అప్లికేషన్ గురించి"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "KDE గురించి"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "తొలగించు"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "పేరుమార్చు"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "చెత్తలో వేయి"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "దానం"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "యూజర్ ఆకృతీకరణ ఫైళ్ళను నవీకరించుటకు KDE సాధనం"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "స్క్రిప్ట్ల నుండి అవుట్పుట్ ఫలితాలను ఉంచండి"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Config file దానికి అప్డేట్ కావాలో లేదో తనిఖీ చేయండి"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "నవీకరణ సూచనలను చదవడానికి ఫైల్ (లు)"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "[.] లో ఫైళ్ళను సృష్టించుటకు మూలవివరం"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "మూలవివరం"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "సాఫ్ట్వేర్ లైసెన్స్ను ప్రదర్శించు."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "ప్రపంచ కాన్ఫిగరేషన్కు బదులుగా <file> ఉపయోగించండి"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgctxt "main|"
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "సమూహ సమూహాల కోసం పదేపదే ఉపయోగించండి."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "శోధించడానికి కీ"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "డిఫాల్ట్ విలువ"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "వేరియబుల్ రకం"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"వేరియబుల్ రకం. ఒక బూలియన్ కోసం \"bool\" ఉపయోగించండి, లేకుంటే అది స్ట్రింగ్గా పరిగణించబడుతుంది"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "వ్రాయడానికి విలువ. తప్పనిసరిగా షెల్ ఉపయోగంలో '' ఖాళీగా ఉంచండి"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "రోజు చిట్కా"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "యూనిట్ పరీక్షల కోసం మాత్రమే: టెస్టిమోనియల్ డైరెక్టరీలు యూజర్ రియల్ ఫైల్స్ నుండి దూరంగా ఉండటానికి "
+#~ "ఉపయోగించుకోండి"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "ఎంపికలను సేవ్ చేయు "
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "అప్లికేషన్ భాషని మార్చండి"
--- /dev/null
+# translation of kwriteconfig.po to Tajik
+# copyright (c) 2004
+# infoDev, a World Bank organization
+# Khujand Computer Technologies, Inc., 2004.
+# Victor Ibragimov <victor.ibragimov@gmail.com>, 2004, 2019.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2019-09-15 21:24+0500\n"
+"Last-Translator: Victor Ibragimov <victor.ibragimov@gmail.com>\n"
+"Language-Team: English <kde-i18n-doc@kde.org>\n"
+"Language: tg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 19.04.3\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Лутфан, бо маъмури низоми худ дар тамос шавед."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Файли танзимии \"%1\" навишташаванда намебошад.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Стандартӣ"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Ба қафо"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Ба пеш"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Асосӣ"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Кушодан"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Кушодани маводи охирин"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Нигоҳ доштан"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Нигоҳ доштан ҳамчун"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Бозгаштан"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Пӯшидан"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "Чоп кардан"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Пешнамоиши чоп"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Почта"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Баромадан"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Дар бораи барнома"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Ботил сохтан"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Нусха бардоштан"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Гузоштан"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Пок кардан"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Ҳамаро интихоб кардан"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Интихобро бекор кардан"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Ёфтан"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Ёфтани навбатӣ"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Ёфтани пешакӣ"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Ҷойгузин кардан"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Андозаи ҳақиқӣ"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Ба саҳифа ғунҷидан"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Ба паҳноӣ ғунҷидан"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Ба баландӣ ғунҷидан"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Бузург кардани андоза"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Хурд кардани андоза"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Интихоби андоза"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Ҳамаро интихоб кардан"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Ба боло"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Гузариш ба саҳифа"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Гузариш ба сатр"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Гузариш ба саҳифа"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Гузариш ба сатр"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Ба саҳифа ғунҷидан"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Гузариш ба сатр"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Гузариш ба саҳифа"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Ба қафо"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Ба пеш"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Илова кардани хатчӯб"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Таҳрир кардани хатчӯб"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Санҷиши имло"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Нишон додани навори феҳрист"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Нишон додани навори феҳрист"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Нишон додани навори абзорҳо"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Нишон додани навори абзорҳо"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Нишон додани навори вазъият"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Нишон додани навори вазъият"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Реҷаи экрани пурра"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Танзимоти навори абзорҳо"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Танзимоти огоҳиномаҳо"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Ин чист"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Гузориш дар бораи хато"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Дар бораи KDE"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Дар бораи KDE"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Нест кардан"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Номро иваз кардан"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Интиқол додан ба сабад"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Дастгирии молӣ"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Кушодани маводи охирин"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Кушодан"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Нав"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Пӯшидан"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Нигоҳ доштан"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Чоп кардан"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Баромадан"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Ботил сохтан"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Дубора анҷом додан"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Буридан"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Нусха бардоштан"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Гузоштан"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Гузоштани интихоб"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Ҳамаро интихоб кардан"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Интихобро бекор кардан"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Нест кардани калима ба ақиб"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Нест кардани калима ба пеш"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Ёфтан"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Ёфтани навбатӣ"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Ёфтани пешакӣ"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Ҷойгузин кардан"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Асосӣ"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Оғоз"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Поён"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Пешакӣ"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Навбатӣ"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Ба боло"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Ба қафо"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Ба пеш"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Боркунии дубора"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Оғози сатр"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Анҷоми сатр"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Гузариш ба сатр"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Калима ба қафо"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Калима ба пеш"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Илова кардани хатчӯб"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Бузург кардани андоза"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Хурд кардани андоза"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Реҷаи экрани пурра"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Нишон додани навори феҳрист"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Фаъол кардани варақаи навбатӣ"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Фаъол кардани варақаи қаблӣ"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Кумак"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Ин чист"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Пуркунии матн"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Мувофиқати пуркунии матни қаблӣ"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Мувофиқати пуркунии матни навбатӣ"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Пуркунии зерсатр"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Маводи қаблӣ дар рӯйхат"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Маводи навбатӣ дар рӯйхат"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Кушодани маводи охирин"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Нигоҳ доштан ҳамчун"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Бозгаштан"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Пешнамоиши чоп"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Почта"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Пок кардан"
+
+#: gui/kstandardshortcut.cpp:343
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Actual Size"
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Андозаи ҳақиқӣ"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Ба саҳифа ғунҷидан"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Ба паҳноӣ ғунҷидан"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Ба баландӣ ғунҷидан"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Интихоби андоза"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Гузариш ба"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Гузариш ба саҳифа"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Санади қаблӣ"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Санади навбатӣ"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Таҳрир кардани хатчӯб"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Санҷиши имло"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Нишон додани навори абзорҳо"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Нишон додани навори вазъият"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Иртиботи тугмаҳо"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Танзимоти барнома"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Танзимоти навори абзорҳо"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Танзимоти огоҳиномаҳо"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Гузориш дар бораи хато"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Дар бораи барнома"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Дар бораи KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Нест кардан"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Номро иваз кардан"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Интиқол додан ба сабад"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Дастгирии молӣ"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Абзори KDE барои навсозии файлҳои танзимии корбар"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Нигоҳ доштани натиҷаҳои барориши нақшҳо (скриптҳо)"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Ниёзи навсозӣ намудани худи файли танзимиро санҷед"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Файл(ҳо)е ки дастурамали навсозӣ аз он(ҳо) иҷро мешаванд"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Ҷузвадон барои эҷодкунии файлҳо дар [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "ҷузвадон"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Намоиш додани иҷозатномаи нармафзор."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Ба ҷои танзими умум аз <file> истифода баред"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgctxt "main|"
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Гурӯҳбандӣ барои ҷустуҷӯ. Барои гурӯҳҳои доимӣ такроран истифода баред."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Калид барои ҷустуҷӯ"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Қимати стандартӣ"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Навъи тағйиpёбанда"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Навъи тағйиpёбанда. Барои воҳиди матниқӣ \"мантиқ\"-ро истифода баред, дар "
+"дигар ҳолат он ҳамчун сатр маънидод карда мешавад"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Қимат барои навиштан. Ҳатман, дар ҷилд аз '' барои ҷои холӣ истифода баред"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Маслиҳати рӯз"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Танҳо барои санҷишҳои воҳидӣ: барои гузаронидани санҷишҳо дур аз файлҳои "
+#~ "ҳақиқии корбар аз ҷузвадонҳои санҷишӣ истифода баред"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Имконоти нигоҳдорӣ"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Иваз кардани забони барнома"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "KConfig - барои истифода дар ҷилди дастнависҳо"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Дар асоси kreadconfig навишта шуд"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Абророва Хиромон"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "H_Abrorova@rambler.ru"
--- /dev/null
+# translation of kwriteconfig.po to Thai
+# Copyright (C) 2003, 2007 Free Software Foundation, Inc.
+#
+# Thanomsub Noppaburana <donga_n@yahoo.com>, 2003.
+# Sahachart Anukulkitch <drrider@gmail.com>, 2007.
+# Thanomsub Noppaburana <donga.nb@gmail.com>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2008-07-17 16:28+0700\n"
+"Last-Translator: Thanomsub Noppaburana <donga.nb@gmail.com>\n"
+"Language-Team: Thai <thai-l10n@googlegroups.com>\n"
+"Language: th\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 0.2\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "กลุ่มที่จะค้นหา"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "กลุ่มที่จะค้นหา"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "กลุ่มที่จะค้นหา"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "กลุ่มที่จะค้นหา"
+
+#: gui/kstandardshortcut.cpp:213
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "กลุ่มที่จะค้นหา"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "ใช้ <แฟ้ม> แทนค่าปรับแต่งทั่วไป"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "กลุ่มที่จะค้นหาภายใน โดยปรับใช้กับกลุ่มย่อยภายในมันด้วย"
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "คำสำหรับค้นหา"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr "ชนิดของตัวแปร ใช้ \"bool\" สำหรับตัวแปรตรรกะ มิฉะนั้น ตัวแปรนั้นจะถูกตีค่าเป็น สตริง"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "ค่าที่จะเขียน จำเป็นต้องใส่ หากเป็นค่าว่างจะใช้ ''"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "เขียนส่วน KConfig - สำหรับใช้ในสคริปต์ของเชลล์"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "เขียน kreadconfig ซึ่งเป็นฐานสำหรับโปรแกรมนี้"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# translation of kwriteconfig.po to
+# translation of kwriteconfig.po to Turkish
+# Copyright (C) 2003, 2008 Free Software Foundation, Inc.
+#
+# Görkem Çetin <gorkem@kde.org>, 2003.
+# Serdar Soytetir <tulliana@gmail.com>, 2008.
+# Volkan Gezer <volkangezer@gmail.com>, 2014, 2017.
+# Kaan Ozdincer <kaanozdincer@gmail.com>, 2014.
+# SPDX-FileCopyrightText: 2022, 2023, 2024 Emir SARI <emir_sari@icloud.com>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-10-25 19:04+0300\n"
+"Last-Translator: Emir SARI <emir_sari@icloud.com>\n"
+"Language-Team: Turkish <kde-l10n-tr@kde.org>\n"
+"Language: tr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Lokalize 24.08.2\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Lütfen sistem yöneticinize başvurun."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Yapılandırma dosyası “%1” yazılabilir değil.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Öntanımlı"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Geri"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "İ&leri"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Ana Sayfa"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "&Yeni"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Yeni belge oluştur"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Aç…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Var olan bir belgeyi aç"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "&Son Kullanılanı Aç"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Yakın zamanda açılan bir belgeyi aç"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Kaydet"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Belgeyi kaydet"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "&Farklı Kaydet…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Belgeyi yeni bir adla kaydet"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "G&eriye Al"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Belgeye yapılan kaydedilmemiş değişiklikleri geri al"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "&Kapat"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Belgeyi kapat"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Yazdır…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Belgeyi yazdır"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Yazdırma &Önizlemesi"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Belgenin yazdırma önizlemesini göster"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Postala…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Belgeyi posta ile gönder"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Çı&k"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Uygulamadan çık"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Geri Al"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Son eylemi geri al"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "&Yinele"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Son geri alınan eylemi yinele"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "&Kes"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Seçimi panoya kes"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "K&opyala"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Seçimi panoya kopyala"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Ya&pıştır"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Pano içeriğini yapıştır"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Te&mizle"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "&Tümünü Seç"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Seçimi Ka&ldır"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Bul…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "&Sonrakini Bul"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Ö&ncekini Bul"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "&Değiştir…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "&Gerçek Boyuta Yakınlaştır"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Belgeyi gerçek boyutunda görüntüle"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Sayfaya &Sığdır"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Sayfayı pencereye sığdıracak biçimde yakınlaştır"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Sayfa &Genişliğine Sığdır"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Penceredeki sayfa genişliğine sığdıracak biçimde yakınlaştır"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Sayfa &Yüksekliğine Sığdır"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Penceredeki sayfa yüksekliğine sığdıracak biçimde yakınlaştır"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "&Yakınlaştır"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "&Uzaklaştır"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Yakınlaştır…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Yakınlaştırma düzeyini seç"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Yenile"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Belgeyi yenile"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Y&ukarı"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Yukarı git"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "Ö&nceki Sayfa"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Önceki sayfaya git"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Sonraki Sayfa"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Sonraki sayfaya git"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "G&it…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Sayfaya G&it…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Satıra G&it…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "İ&lk Sayfa"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "İlk sayfaya git"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "So&n Sayfa"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Son sayfaya git"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Geri"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Belgede geri git"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "İ&leri"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Belgede ileri git"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Yer İmi &Koy"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Yer İmlerini Dü&zenle…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Yazım &Denetimi…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Belgedeki yazımı denetle"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "&Menü Çubuğunu Göster"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Menü çubuğunu göster veya gizle"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "&Araç Çubuğunu Göster"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Araç çubuğunu göster veya gizle"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "&Durum Çubuğunu Göster"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Durum çubuğunu göster veya gizle"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Ta&m Ekran Kipi"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "&Klavye Kısayollarını Yapılandır…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "%1 Uygulamasını &Yapılandır…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "&Araç Çubuklarını Yapılandır…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "&Bildirimleri Yapılandır…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 &El Kitabı"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "&Bu Nedir?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Hata Bildir…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "&Dili Yapılandır…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "%1 &Hakkında"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "&KDE Hakkında"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "&Sil"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Yeniden &Adlandır…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Çöp Kutusuna &Taşı"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "&Bağış Yap"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "&Menüyü Aç"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Aç"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Yeni"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Kapat"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Kaydet"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Yazdır"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Çık"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Geri Al"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Yinele"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Kes"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Kopyala"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Yapıştır"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Seçimi Yapıştır"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Tümünü Seç"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Seçimi Kaldır"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Geriye Doğru Sözcük Sil"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "İleriye Doğru Sözcük Sil"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Bul"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Sonrakini Bul"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Öncekini Bul"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Değiştir"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Ana Sayfa"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Başlangıç"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Son"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Önceki"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Sonraki"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Yukarı"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Geri"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "İleri"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Yeniden Yükle"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Satır Başı"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Satır Sonu"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Satıra Git"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Önceki Sözcük"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Sonraki Sözcük"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Yer İmi Koy"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Yakınlaştır"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Uzaklaştır"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Tam Ekran Kipi"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Menü Çubuğunu Göster"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Sonraki Sekmeyi Etkinleştir"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Önceki Sekmeyi Etkinleştir"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Yardım"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Bu Nedir"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Metin Tamamlama"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Önceki Tamamlama Eşleşmesi"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Sonraki Tamamlama Eşleşmesi"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Alt İfade Tamamlama"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Listedeki Önceki Öge"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Listedeki Sonraki Öge"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Son Kullanılanı Aç"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Farklı Kaydet"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Geriye Al"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Yazdırma Önizlemesi"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Posta"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Temizle"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Gerçek Boyuta Yakınlaştır"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Sayfaya Sığdır"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Genişliğe Sığdır"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Yüksekliğe Sığdır"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Yakınlaştır"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Git"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Sayfaya Git"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Belge Geri"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Belge İleri"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Yer İmlerini Düzenle"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Yazım Denetimi"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Araç Çubuğunu Göster"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Durum Çubuğunu Göster"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Düğme Bağıntıları"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Uygulamayı Yapılandır"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Araç Çubuklarını Yapılandır"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Bildirimleri Yapılandır"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Hata Bildir"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Dili Yapılandır…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Uygulama Hakkında"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "KDE Hakkında"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Sil"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Yeniden Adlandır"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Çöp Kutusuna Taşı"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Bağış Yap"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Gizli Dosyaları Göster/Gizle"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Klasör Oluştur"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Ana Menüyü Aç"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Bağlam Menüsünü Aç"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Kullanıcı yapılandırma dosyalarını güncellemek için KDE aracı."
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Betiklerin çıktılarını sakla"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Yalnızca birim sınamaları için: Bitmiş girdileri yazma; böylelikle her "
+"yeniden çalıştırmada betikler yeniden yürütülür"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Yapılandırma dosyasının güncelleme gerektirip gerektirmediğini denetle"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Güncelleme bilgilerinin okunacağı dosya"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Dosyaların oluşturulacağı dizin [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "dizin"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Yazılım lisansını görüntüleyin."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Genel yapılandırma yerine <file> kullanın."
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"İçine bakılacak grup. Kök grup veya iç içe geçmiş gruplar için yineleyerek "
+"“<default>” kullanın."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Aranacak anahtar"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Öntanımlı değer"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Değişken türü"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "Grup adı boş olamaz; kök grup için “<default>” kullanın"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Değişkenin türü. Mantıksal değişkenler için “bool” kullanın, aksi halde "
+"metin olarak ele alınır"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Etkinleştirilmişse ilgili anahtarı sil"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Yazdırılacak değer. Zorunlu, boş değer için kabukta '' kullanın"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Günün İpucu"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Yalnızca birim sınamaları için: Sınama dizinlerini kullanıcının gerçek "
+#~ "dosyalarından ayrı tut"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Seçenekleri Kaydet"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Uygulama Dilini Değiştir"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Tercihler"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "KConfig girdilerini yaz (kabuk programlarında kullanmak için)"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Kreadconfig bu temel alınarak yazıldı"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# Uyghur translation for kwriteconfig.
+# Copyright (C) YEAR This_file_is_part_of_KDE
+# This file is distributed under the same license as the PACKAGE package.
+# Sahran <sahran.ug@gmail.com>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2013-09-08 07:05+0900\n"
+"Last-Translator: Gheyret Kenji <gheyret@gmail.com>\n"
+"Language-Team: Uyghur Computer Science Association <UKIJ@yahoogroups.com>\n"
+"Language: ug\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "ئومۇمىي سەپلىمە ئورنىغا <ھۆججەت> نى ئىشلەت"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"كۆرمەكچى بولغان گۇرۇپپا. قەۋەتلەنگەن گۇرۇپپىلارغا قايتا-قايتا ئىشلىتىڭ."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "ئىزدەيدىغان ئاچقۇچلۇق سۆز"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"ئۆزگەرگۈچى تىپى. \"bool\" نى بۇلېئان قىممىتى قىلىپ ئىشلىتىدۇ ئۇنداق بولمىسا "
+"ھەرپ تىزىقى سۈپىتىدە ئىشلىتىدۇ."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "يازىدىغان قىممەت. shell دا بوشلۇقنى چوقۇم ئىشلىتىدۇ"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "KConfig تۈرلىرىنى يازىدۇ - shell قوليازما ئۈچۈن"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "(c) 2001 Red Hat، Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "بۇ پروگراممىنىڭ ئاساسىي kreadconfig نى يازغان"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# Translation of kconfig5_qt.po to Ukrainian
+# Copyright (C) 2018-2020 This_file_is_part_of_KDE
+# This file is distributed under the license LGPL version 2.1 or
+# version 3 or later versions approved by the membership of KDE e.V.
+#
+# Yuri Chornoivan <yurchor@ukr.net>, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024.
+msgid ""
+msgstr ""
+"Project-Id-Version: kconfig5_qt\n"
+"PO-Revision-Date: 2024-05-22 09:06+0300\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Ukrainian\n"
+"Language: uk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Qt-Contexts: true\n"
+"X-Qt-Contexts: true\n"
+"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n"
+"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Lokalize 23.04.3\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Будь ласка, зверніться до системного адміністратора."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Запис до файла налаштувань «%1» неможливий.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Типові значення"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "&Назад"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "&Вперед"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "&Домівка"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "С&творити"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "Створити новий документ"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "&Відкрити…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "Відкрити наявний документ"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Відкрити &недавні"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "Відкрити документ, який вже було нещодавно відкрито"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "&Зберегти"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "Зберегти документ"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Зберегти &як…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "Зберегти документ під іншою назвою"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "&Відновити"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "Скасувати незбережені зміни у документі"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "За&крити"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "Закрити документ"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "&Надрукувати…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "Надрукувати документ"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Перегляд др&уку"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "Показати попередній перегляд результатів друку документа"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "&Надіслати листа…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "Надіслати документ електронною поштою"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Ви&йти"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Вийти з програми"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "&Вернути"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "Скасувати останню дію"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "П&овторити"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "Повернути результат останньої скасованої дії"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "Виріза&ти"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "Вирізати позначені об’єкти до буфера обміну даними"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "&Копіювати"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "Копіювати позначений фрагмент до буфера обміну даними"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "&Вставити"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "Вставити вміст буфера обміну даними"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "О&чистити"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Позна&чити все"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Скасувати ви&бір"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "&Знайти…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Знайти &далі"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Знайти &позаду"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "З&амінити…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "&Фактичний розмір"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "Переглянути документ з використанням його справжніх розмірів"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "&Влаштувати в сторінку"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "Змінити масштаб, щоб розмістити сторінку цілком"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Влаштувати в &ширину сторінки"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "Змінити масштаб, щоб розмістити всю ширину сторінки документа"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Влаштувати в &висоту сторінки"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "Змінити масштаб, щоб розмістити всю висоту сторінки документа"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "З&більшити"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "З&меншити"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "&Масштабувати…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Вибрати масштаб"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "&Оновити"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "Оновити документ"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "&Вгору"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "Перейти вище"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "&Попередня"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "Перейти до попередньої сторінки"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "&Наступна"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Перейти до наступної сторінки"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "П&ерейти…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "П&ерейти до сторінки…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Пе&рейти до рядка…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Пе&рша"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Перейти до першої сторінки"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "&Остання"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "Перейти до останньої сторінки"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "&Назад"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "Перейти назад документом"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "&Вперед"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "Перейти вперед документом"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "&Додати закладку"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "&Редагувати закладки…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Пр&авопис…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "Перевірити правопис у документі"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Показати смужку &меню"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Показати або приховати смужку меню"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Показати панель &інструментів"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Показати або приховати панель інструментів"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Пок&азувати смужку стану"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Показати або приховати смужку стану"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Повноекранний &режим"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "Налаштовування &клавіатурних скорочень…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "&Налаштувати %1…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Налаштувати п&анелі…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Налаштувати спові&щення…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "П&ідручник з %1"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "&Що це?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "&Повідомити про ваду…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Нала&штувати мову…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "&Про %1"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "П&ро KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Ви&лучити"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Пере&йменувати…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "&Пересунути до смітника"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Підтримати &фінансово"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Відкрити &меню"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Відкрити"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Створити"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Закрити"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Зберегти"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "Надрукувати"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Вийти"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Вернути"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Повторити"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Вирізати"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Скопіювати"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Вставити"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Вставити позначене"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Позначити все"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Скасувати позначення"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Вилучити слово позаду"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Вилучити слово попереду"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Пошук"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Знайти далі"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Знайти позаду"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Замінити"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Домівка"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Початок"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Кінець"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Назад"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Далі"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Вгору"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Назад"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Вперед"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Перезавантажити"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Початок рядка"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Кінець рядка"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Перейти до рядка"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Слово назад"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Слово вперед"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Додати закладку"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Збільшити"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Зменшити"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Повноекранний режим"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Показувати смужку меню"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Активувати наступну вкладку"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Активувати попередню вкладку"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Довідка"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Що це?"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Завершення тексту"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Попередній варіант завершення"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Наступний варіант завершення"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Завершення підрядка"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Попередній елемент у списку"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Наступний елемент у списку"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Відкрити недавні"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Зберегти як"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Відновити"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Перегляд друку"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Надіслати листа"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Спорожнити"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Масштабувати до фактичного розміру"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Влаштувати в сторінку"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Влаштувати за шириною"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Влаштувати за висотою"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Масштабувати"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Перейти"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Перейти до сторінки"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Назад документом"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Вперед документом"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Редагувати закладки"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Перевірка правопису"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Показати панель інструментів"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Показати смужку стану"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Прив'язка до клавіш"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Налаштувати програму"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Налаштувати панелі"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Налаштувати сповіщення"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Надіслати звіт про помилку"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Налаштувати мову…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Про програму"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Про KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Вилучити"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Перейменувати"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Пересунути до смітника"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Допомогти фінансово"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Показати/Приховати приховані файли"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Створити теку"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "Відкрити головне меню"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "Відкрити контекстне меню"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Засіб KDE для оновлення файлів налаштування користувача"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Залишати результати виводу з скриптів"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"Лише для тестування модулів: не записувати виконані записи, щоб із кожним "
+"повторним запуском скрипти виконувалися знову"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Перевірити, чи потребує поновлення сам файл налаштування"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "Файли, з яких слід зчитувати інструкції щодо оновлення"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Каталог, у якому слід створити файли [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "каталог"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Показати дані щодо ліцензування програмного забезпечення."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Використовувати <file> замість загального файла налаштувань"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Група, у якій слід вести пошук. Скористайтеся «<default>» для кореневої "
+"групи або використовуйте ітеративно для вкладених груп."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Ключ, який слід шукати"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Типове значення"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Тип змінної"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+"Назва групи не може бути порожньою. Скористайтеся «<default>» для створення "
+"кореневої групи"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Тип змінної. Для логічної змінної скористайтеся типом «bool», інакше змінна "
+"вважається рядком."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Вилучити визначений ключ, якщо увімкнено"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Значення для запису. Обов'язкове, для порожнього значення в оболонці "
+"скористайтеся ''."
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Порада дня"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Лише для тестування модулів: використовувати тестові каталоги, щоб не "
+#~ "чіпати файлів користувача"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Зберегти параметри"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "Перемкнути мову програми"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Preferences"
+#~ msgstr "Параметри"
--- /dev/null
+# translation of kwriteconfig.po to Uzbek
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# Mashrab Kuvatov <kmashrab@uni-bremen.de>, 2003.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2003-12-07 22:02+0000\n"
+"Last-Translator: Mashrab Kuvatov <kmashrab@uni-bremen.de>\n"
+"Language-Team: Uzbek <floss-uz-l10n@googlegroups.com>\n"
+"Language: uz\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.2\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Mashrab Quvatov"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "kmashrab@uni-bremen.de"
--- /dev/null
+# translation of kwriteconfig.po to Uzbek
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# Mashrab Kuvatov <kmashrab@uni-bremen.de>, 2003.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2003-12-07 22:02+0000\n"
+"Last-Translator: Mashrab Kuvatov <kmashrab@uni-bremen.de>\n"
+"Language-Team: Uzbek <floss-uz-l10n@googlegroups.com>\n"
+"Language: uz@cyrillic\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.2\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Машраб Қуватов"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "kmashrab@uni-bremen.de"
--- /dev/null
+# Vietnamese translation for kwriteconfig.
+# Copyright © 2006 Free Software Foundation, Inc.
+#
+# Phan Vĩnh Thịnh <teppi82@gmail.com>, 2006.
+# Lê Hoàng Phương <herophuong93@gmail.com>, 2012.
+# Phu Hung Nguyen <phu.nguyen@kdemail.net>, 2020, 2021, 2022.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2022-05-31 10:57+0200\n"
+"Last-Translator: Phu Hung Nguyen <phu.nguyen@kdemail.net>\n"
+"Language-Team: Vietnamese <kde-l10n-vi@kde.org>\n"
+"Language: vi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 21.12.2\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "Vui lòng liên hệ với quản trị viên hệ thống của bạn."
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "Tệp cấu hình \"%1\" không ghi được.\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Mặc định"
+
+#: gui/kstandardactions.cpp:49
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "go back|"
+msgid "&Back"
+msgstr "Lùi"
+
+#: gui/kstandardactions.cpp:56
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "Tiến"
+
+#: gui/kstandardactions.cpp:63
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action Go to main page"
+#| msgid "Home"
+msgctxt "home page|"
+msgid "&Home"
+msgstr "Nhà"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open"
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "Mở"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "Mở gần đây"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save"
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "Lưu"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Save As"
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "Lưu thành"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Revert"
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "Hoàn nguyên"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Close"
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "Đóng"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print"
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "In"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Print Preview"
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "Xem thử bản in"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Mail"
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "Thư"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Quit"
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "Thoát"
+
+#: gui/kstandardactions_p.h:77
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About Application"
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "Về ứng dụng"
+
+#: gui/kstandardactions_p.h:79
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Undo"
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "Đảo ngược"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Copy"
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "Chép"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Paste"
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "Dán"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Clear"
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "Làm trống"
+
+#: gui/kstandardactions_p.h:85
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "Chọn tất cả"
+
+#: gui/kstandardactions_p.h:86
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Deselect"
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "Bỏ chọn"
+
+#: gui/kstandardactions_p.h:87
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find"
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "Tìm"
+
+#: gui/kstandardactions_p.h:88
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Next"
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "Tìm về sau"
+
+#: gui/kstandardactions_p.h:89
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Find Prev"
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "Tìm về trước"
+
+#: gui/kstandardactions_p.h:90
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Replace"
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "Thay thế"
+
+#: gui/kstandardactions_p.h:92
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom to Actual Size"
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "Thu phóng về kích cỡ thật"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "Vừa trang"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Width"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "Vừa bề rộng"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Height"
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "Vừa bề cao"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom In"
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "Phóng to"
+
+#: gui/kstandardactions_p.h:97
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom Out"
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "Thu nhỏ"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Zoom"
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "Thu phóng"
+
+#: gui/kstandardactions_p.h:98
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Select All"
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "Chọn tất cả"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Up"
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "Lên"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "Đi đến trang"
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Đi đến dòng"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "Đi đến trang"
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Đi đến dòng"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Fit To Page"
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "Vừa trang"
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Go to Line"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Đi đến dòng"
+
+#: gui/kstandardactions_p.h:112
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Goto Page"
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "Đi đến trang"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Back"
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "Lùi"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Forward"
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "Tiến"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Add Bookmark"
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "Thêm dấu nhớ"
+
+#: gui/kstandardactions_p.h:117
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Edit Bookmarks"
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "Sửa dấu nhớ"
+
+#: gui/kstandardactions_p.h:119
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Spelling"
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "Đánh vần"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "Hiện thanh trình đơn"
+
+#: gui/kstandardactions_p.h:121
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Menu Bar"
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "Hiện thanh trình đơn"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "Hiện thanh công cụ"
+
+#: gui/kstandardactions_p.h:122
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Toolbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "Hiện thanh công cụ"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "Hiện thanh trạng thái"
+
+#: gui/kstandardactions_p.h:123
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Show Statusbar"
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "Hiện thanh trạng thái"
+
+#: gui/kstandardactions_p.h:124
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Full Screen Mode"
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "Chế độ toàn màn hình"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "Cấu hình ngôn ngữ..."
+
+#: gui/kstandardactions_p.h:127
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Toolbars"
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "Cấu hình thanh công cụ"
+
+#: gui/kstandardactions_p.h:128
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Notifications"
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "Cấu hình thông báo"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "What's This"
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "Đây là cái gì"
+
+#: gui/kstandardactions_p.h:134
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Report Bug"
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "Báo lỗi"
+
+#: gui/kstandardactions_p.h:135
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "Cấu hình ngôn ngữ..."
+
+#: gui/kstandardactions_p.h:136
+#, fuzzy, qt-format
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "Về KDE"
+
+#: gui/kstandardactions_p.h:137
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "About KDE"
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "Về KDE"
+
+#: gui/kstandardactions_p.h:138
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Delete"
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "Xoá"
+
+#: gui/kstandardactions_p.h:139
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Rename"
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "Đổi tên"
+
+#: gui/kstandardactions_p.h:140
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Move to Trash"
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "Chuyển vào thùng rác"
+
+#: gui/kstandardactions_p.h:141
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Donate"
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "Quyên góp"
+
+#: gui/kstandardactions_p.h:142
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Open Recent"
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "Mở gần đây"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "Mở"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "Tạo"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "Đóng"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "Lưu"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "In"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "Thoát"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "Đảo ngược"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "Làm lại"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "Cắt"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "Chép"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "Dán"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "Dán phần chọn"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "Chọn tất cả"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "Bỏ chọn"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "Xoá từ lùi"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "Xoá từ tiến"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "Tìm"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "Tìm về sau"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "Tìm về trước"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "Thay thế"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "Nhà"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "Đầu"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "Cuối"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "Trước"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "Sau"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "Lên"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "Lùi"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "Tiến"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "Tải lại"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "Đầu dòng"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Cuối dòng"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Đi đến dòng"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "Lùi từng từ"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "Tiến từng từ"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "Thêm dấu nhớ"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "Phóng to"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "Thu nhỏ"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "Chế độ toàn màn hình"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "Hiện thanh trình đơn"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "Kích hoạt thẻ sau"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "Kích hoạt thẻ trước"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "Trợ giúp"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "Đây là cái gì"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "Hoàn tất văn bản"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "Phần khớp hoàn tất trước"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "Phần khớp hoàn tất sau"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "Hoàn tất chuỗi con"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "Mục trước trong danh sách"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "Mục sau trong danh sách"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "Mở gần đây"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "Lưu thành"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "Hoàn nguyên"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "Xem thử bản in"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "Thư"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "Làm trống"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "Thu phóng về kích cỡ thật"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "Vừa trang"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "Vừa bề rộng"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "Vừa bề cao"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "Thu phóng"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "Đi đến"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "Đi đến trang"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "Tài liệu trước"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "Tài liệu sau"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "Sửa dấu nhớ"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "Đánh vần"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "Hiện thanh công cụ"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "Hiện thanh trạng thái"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "Kết buộc phím"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "Cấu hình ứng dụng"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "Cấu hình thanh công cụ"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "Cấu hình thông báo"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "Báo lỗi"
+
+#: gui/kstandardshortcut.cpp:417
+#, fuzzy
+#| msgctxt "KStandardShortcut|@action"
+#| msgid "Configure Language..."
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "Cấu hình ngôn ngữ..."
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "Về ứng dụng"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "Về KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "Xoá"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "Đổi tên"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "Chuyển vào thùng rác"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "Quyên góp"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "Hiện/ẩn tệp ẩn"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "Tạo thư mục"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "Công cụ KDE để cập nhật các tệp cấu hình của người dùng"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "Giữ lại các kết quả đầu ra từ các kịch bản"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "Kiểm tra liệu chính tệp cấu hình có cần cập nhật không"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "(Các) tệp để từ đó đọc ra hướng dẫn cập nhật"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "Thư mục để tạo tệp ở trong [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "thư mục"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "Hiển thị giấy phép phần mềm."
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Dùng <file> thay cho cấu hình toàn cục"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Tìm trong nhóm nào. Dùng \"<default>\" cho nhóm gốc, hoặc dùng lặp lại để "
+"được các nhóm lồng nhau."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Khoá cần tìm"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "Giá trị mặc định"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Kiểu biến"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "Tên nhóm không được trống, dùng \"<default>\" cho nhóm gốc"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Kiểu biến. Dùng \"bool\" cho một biến luận lí, ngược lại nó sẽ được coi là "
+"một chuỗi."
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "Nếu bật, xoá khoá được chỉ định"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "Giá trị để ghi. Bắt buộc, trên một hệ vỏ dùng '' cho giá trị rỗng"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "Mẹo của ngày"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr ""
+#~ "Chỉ dành cho kiểm thử đơn vị: dùng các thư mục kiểm thử để không động đến "
+#~ "các tệp thực tế của người dùng"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "Lưu các lựa chọn"
--- /dev/null
+# translation of kwriteconfig.po to Walloon
+# Ratournaedje e walon des messaedjes di KDE.
+#
+# Pablo Saratxaga <pablo@walon.org>, 2004, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2009-12-17 21:56+0100\n"
+"Last-Translator: Jean Cayron <jean.cayron@gmail.com>\n"
+"Language-Team: Walloon <linux-wa@walon.org>\n"
+"Language: wa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.2\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr ""
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Groupe a cweri dvins"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Groupe a cweri dvins"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Groupe a cweri dvins"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Groupe a cweri dvins"
+
+#: gui/kstandardshortcut.cpp:213
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Groupe a cweri dvins"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+#, fuzzy
+#| msgid "Use <file> instead of global config"
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "Eployî <file> purade ki l' apontiaedje globå"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+#, fuzzy
+#| msgid "Group to look in. Use repeatedly for nested groups."
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+"Groupe k' on rwaite divins. L' eployî sacwants côpd po les groupes metous n-"
+"onk dins l' ôte."
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Clé a cweri après"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+#, fuzzy
+#| msgid ""
+#| "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as "
+#| "a string"
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+"Sôre di variåve. Eployîz «bool» po on bouleyin, ôtrumint c' est consideré "
+"come ene tchinne di tecse"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+#, fuzzy
+#| msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+"Li valixhance a scrire. Obligatwere, so ene roye di cmande eployîz "
+"« '' » (deus croles ki s' shuvèt) po ene tchinne vude"
+
+#~ msgid "KWriteConfig"
+#~ msgstr "KWriteConfig"
+
+#~ msgid "Write KConfig entries - for use in shell scripts"
+#~ msgstr "Sicrire des intrêyes KConfig - po-z eployî dins des scripes shell"
+
+#~ msgid "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho"
+#~ msgstr "© 2001 Red Hat, Inc. & Luís Pedro Coelho"
+
+#~ msgid "Wrote kreadconfig on which this is based"
+#~ msgstr "Sicrijha kreadconfig ki c' est l'båze di ç' programe ci"
+
+#~ msgid "Luís Pedro Coelho"
+#~ msgstr "Luís Pedro Coelho"
+
+#~ msgid "Bernhard Rosenkraenzer"
+#~ msgstr "Bernhard Rosenkraenzer"
--- /dev/null
+# translation of kreadconfig.po to Xhosa
+# K Desktop Environment - kreadconfig
+# Copyright (C) 2001 translate.org.za
+# Antoinette Dekeni <antoinette@transalate.org.za>, 2001.
+# Lwandle Mgidlana <lwandle@translate.org.za>, 2002
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kreadconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2002-10-26 10:38SAST\n"
+"Last-Translator: Lwandle Mgidlana <lwandle@translate.org.za>\n"
+"Language-Team: Xhosa <xhosa@translate.org.za>\n"
+"Language: xh\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0beta2\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr ""
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr ""
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+#, fuzzy
+#| msgid "Default value"
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "Ixabiso lendalo"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr ""
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr ""
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr ""
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr ""
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr ""
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr ""
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr ""
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr ""
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr ""
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr ""
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr ""
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr ""
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr ""
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr ""
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr ""
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr ""
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr ""
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr ""
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr ""
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr ""
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr ""
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr ""
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr ""
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:107
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "Iqela emakujongwe kulo"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:110
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "Iqela emakujongwe kulo"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:111
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "Iqela emakujongwe kulo"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr ""
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr ""
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr ""
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr ""
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr ""
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr ""
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr ""
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr ""
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr ""
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr ""
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr ""
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr ""
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr ""
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:203
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "Iqela emakujongwe kulo"
+
+#: gui/kstandardshortcut.cpp:213
+#, fuzzy
+#| msgid "Group to look in"
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "Iqela emakujongwe kulo"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr ""
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr ""
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr ""
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr ""
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+#, fuzzy
+#| msgid "Key to look for"
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "Isitshixo emasikhangelwe"
+
+#: kreadconfig/kreadconfig.cpp:53
+#, fuzzy
+#| msgid "Default value"
+msgctxt "main|"
+msgid "Default value"
+msgstr "Ixabiso lendalo"
+
+#: kreadconfig/kreadconfig.cpp:54
+#, fuzzy
+#| msgid "Type of variable"
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "Udidi lomahluko"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr ""
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr ""
+
+#~ msgid "KReadConfig"
+#~ msgstr "KReadConfig"
+
+#, fuzzy
+#~ msgid "Read KConfig entries - for use in shell scripts"
+#~ msgstr ""
+#~ "Funda KGlobal::config() amangeno - okusetyenziswa kwizishicilelo zeqokobhe"
+
+#~ msgctxt "NAME OF TRANSLATORS"
+#~ msgid "Your names"
+#~ msgstr "Lwandle Mgidlana"
+
+#~ msgctxt "EMAIL OF TRANSLATORS"
+#~ msgid "Your emails"
+#~ msgstr "lwandle@translate.org.za"
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: kdeorg\n"
+"PO-Revision-Date: 2024-04-22 15:58\n"
+"Language-Team: Chinese Simplified\n"
+"Language: zh_CN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Qt-Contexts: true\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Crowdin-Project: kdeorg\n"
+"X-Crowdin-Project-ID: 269464\n"
+"X-Crowdin-Language: zh-CN\n"
+"X-Crowdin-File: /kf6-trunk/messages/kconfig/kconfig6_qt.pot\n"
+"X-Crowdin-File-ID: 43047\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "请联系您的系统管理员。"
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "配置文件“%1”不可写入。\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "默认"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "后退(&B)"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "前进(&F)"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "主页(&H)"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "新建(&N)"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "创建新文档"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "打开(&O)…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "打开已有文档"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "打开最近(&R)"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "打开最近使用过的文档"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "保存(&S)"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "保存文档"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "另存为(&A)…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "用新文件名保存文档"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "还原(&V)"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "还原文档中未保存的更改"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "关闭(&C)"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "关闭文档"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "打印(&P)…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "打印文档"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "打印预览(&W)"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "显示文档的打印预览"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "电子邮件(&M)…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "通过电子邮件发送文档"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "退出(&Q)"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "退出应用程序"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "撤销(&U)"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "撤销上一步操作"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "重做(&D)"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "重做上一次撤销的操作"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "剪切(&T)"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "剪切所选内容到剪贴板"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "复制(&C)"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "复制所选内容到剪贴板"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "粘贴(&P)"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "粘贴剪贴板内容"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "清除(&l)"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "全部选择(&A)"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "取消选择(&L)"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "查找(&F)…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "查找下一个(&N)"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "查找上一个(&V)"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "替换(&R)…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "缩放为实际大小(&A)"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "缩放到文档的实际大小"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "适合整个页面(&F)"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "缩放到整个页面适合窗口大小"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "适合页面宽度(&W)"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "缩放到页面宽度适合窗口大小"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "适合页面高度(&H)"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "缩放到页面高度适合窗口大小"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "放大(&I)"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "缩小(&O)"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "缩放(&Z)…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "选择缩放级别"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "刷新(&R)"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "刷新"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "上一级(&U)"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "跳转到上一级"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "上一页(&P)"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "跳转到上一页"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "下一页(&N)"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "跳转到下一页"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "跳转到(&G)…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "跳转到页面(&G)…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "跳转到行(&G)…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "第一页(&F)"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "跳转到第一页"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "最后一页(&L)"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "跳转到最后一页"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "后退(&B)"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "在文档中后退"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "前进(&F)"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "在文档中前进"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "添加书签(&A)"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "编辑书签(&E)…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "拼写检查(&S)…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "检查文档中的拼写错误"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "显示菜单栏(&M)"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "显示或者隐藏菜单栏"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "显示工具栏(&T)"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "显示或者隐藏工具栏"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "显示状态栏(&A)"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "显示或者隐藏状态栏"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "全屏模式(&U)"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "配置键盘快捷键(&H)…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "配置 %1(&C)…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "配置工具栏(&B)..."
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "配置通知(&N)…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 使用手册(&H)"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "这是什么(&T)?"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "报告程序缺陷(&R)…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "配置语言(&L)…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "关于 %1(&A)"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "关于 &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "删除(&D)"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "重命名(&R)…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "移动到回收站(&M)"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "捐款(&D)"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "打开菜单(&M)"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "打开"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "新建"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "关闭"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "保存"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "打印"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "退出"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "撤销"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "重做"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "剪切"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "复制"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "粘贴"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "粘贴选中内容"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "选择全部"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "取消选择"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "删除前一个单词"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "删除后一个单词"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "查找"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "查找下一个"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "查找上一个"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "替换"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "主页"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "开头"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "结尾"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "之前"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "之后"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "向上"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "后退"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "前进"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "重新加载"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "行首"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "行尾"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "跳转到行"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "上一单词"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "下一单词"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "添加书签"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "放大"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "缩小"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "全屏模式"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "显示菜单栏"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "激活下一标签页"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "激活上一标签页"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "帮助"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "这是什么"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "文本补全"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "上一条补全匹配"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "下一条补全匹配"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "子串补全"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "列表中的前一项"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "列表中的后一项"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "打开最近项目"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "另存为"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "还原"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "打印预览"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "发送电子邮件"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "清除"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "缩放为实际大小"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "适合整个页面"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "适合页面宽度"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "适合页面高度"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "缩放"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "跳转到"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "跳转到页面"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "文档后退"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "文档前进"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "编辑书签"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "拼写"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "显示工具栏"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "显示状态栏"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "键位绑定"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "配置应用程序"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "配置工具栏"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "配置通知"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "报告程序缺陷"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "配置语言…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "关于应用程序"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "关于 KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "删除"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "重命名"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "移动到回收站"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "捐款"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "显示/隐藏隐藏文件"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "创建文件夹"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "打开主菜单"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "打开右键菜单"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "KDE 的用户配置文件更新工具"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "保留脚本的输出结果"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"仅针对单元测试:不要写入已完成的条目,于是每次重新运行时,脚本将被重新执行"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "检查配置文件本身是否需要更新"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "要读取更新指令的文件"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "用于生成文件的目录,格式为 [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "目录"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "显示软件许可证。"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "使用 <file> 代替全局设置"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "要查看的组。根组使用“<default>”,嵌套组可重复使用。"
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "要查询的键"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "默认值"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "变量类型"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "组名称不能为空,根组应使用“<default>”"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr "变量类型。布尔值应选择“bool”,否则它将被视作字符串。"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "启用时删除指定项"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "要写入的值。此为必填项。在 shell 中应使用 \" 代表空值。"
--- /dev/null
+# translation of kwriteconfig.po to Chinese Traditional
+#
+# Frank Weng (a.k.a. Franklin) <franklin at goodhorse dot idv dot tw>, 2006, 2008.
+# Franklin Weng <franklin at goodhorse dot idv dot tw>, 2007, 2014, 2015.
+# Jeff Huang <s8321414@gmail.com>, 2016, 2017, 2018, 2020.
+# pan93412 <pan93412@gmail.com>, 2019, 2020.
+# SPDX-FileCopyrightText: 2022, 2023, 2024 Kisaragi Hiu <mail@kisaragi-hiu.com>
+msgid ""
+msgstr ""
+"Project-Id-Version: kwriteconfig\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2014-04-11 02:17+0000\n"
+"PO-Revision-Date: 2024-05-26 16:01+0900\n"
+"Last-Translator: Kisaragi Hiu <mail@kisaragi-hiu.com>\n"
+"Language-Team: Traditional Chinese <zh-l10n@lists.slat.org>\n"
+"Language: zh_TW\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Lokalize 24.04.70\n"
+"X-Qt-Contexts: true\n"
+
+#: core/kconfig.cpp:936
+msgctxt "KConfig|"
+msgid "Please contact your system administrator."
+msgstr "請聯絡您的系統管理員。"
+
+#: core/kconfigini.cpp:568
+#, qt-format
+msgctxt "KConfigIniBackend|"
+msgid "Configuration file \"%1\" not writable.\n"
+msgstr "設定檔 %1 無法寫入。\n"
+
+#: core/kemailsettings.cpp:128 core/kemailsettings.cpp:131
+#: core/kemailsettings.cpp:139
+msgctxt "KEMailSettings|"
+msgid "Default"
+msgstr "預設"
+
+#: gui/kstandardactions.cpp:49
+msgctxt "go back|"
+msgid "&Back"
+msgstr "返回(&B)"
+
+#: gui/kstandardactions.cpp:56
+msgctxt "go forward|"
+msgid "&Forward"
+msgstr "往前(&F)"
+
+#: gui/kstandardactions.cpp:63
+msgctxt "home page|"
+msgid "&Home"
+msgstr "首頁(&H)"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "&New"
+msgstr "新增(&N)"
+
+#: gui/kstandardactions_p.h:67
+msgctxt "KStandardActions|"
+msgid "Create new document"
+msgstr "建立新文件"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "&Open…"
+msgstr "開啟(&O)…"
+
+#: gui/kstandardactions_p.h:68
+msgctxt "KStandardActions|"
+msgid "Open an existing document"
+msgstr "開啟現有的文件"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open &Recent"
+msgstr "開啟最近的(&R)"
+
+#: gui/kstandardactions_p.h:69
+msgctxt "KStandardActions|"
+msgid "Open a document which was recently opened"
+msgstr "開啟最近使用的文件"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "&Save"
+msgstr "儲存(&S)"
+
+#: gui/kstandardactions_p.h:70
+msgctxt "KStandardActions|"
+msgid "Save document"
+msgstr "儲存文件"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save &As…"
+msgstr "另存為(&A)…"
+
+#: gui/kstandardactions_p.h:71
+msgctxt "KStandardActions|"
+msgid "Save document under a new name"
+msgstr "以新名稱儲存文件"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Re&vert"
+msgstr "回復(&V)"
+
+#: gui/kstandardactions_p.h:72
+msgctxt "KStandardActions|"
+msgid "Revert unsaved changes made to document"
+msgstr "回復文件的變更"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "&Close"
+msgstr "關閉(&C)"
+
+#: gui/kstandardactions_p.h:73
+msgctxt "KStandardActions|"
+msgid "Close document"
+msgstr "關閉文件"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "&Print…"
+msgstr "列印(&P)…"
+
+#: gui/kstandardactions_p.h:74
+msgctxt "KStandardActions|"
+msgid "Print document"
+msgstr "列印文件"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Print Previe&w"
+msgstr "預覽列印(&W)"
+
+#: gui/kstandardactions_p.h:75
+msgctxt "KStandardActions|"
+msgid "Show a print preview of document"
+msgstr "顯示文件的預覽列印"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "&Mail…"
+msgstr "郵寄(&M)…"
+
+#: gui/kstandardactions_p.h:76
+msgctxt "KStandardActions|"
+msgid "Send document by mail"
+msgstr "以郵件傳送文件"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "&Quit"
+msgstr "離開(&Q)"
+
+#: gui/kstandardactions_p.h:77
+msgctxt "KStandardActions|"
+msgid "Quit application"
+msgstr "離開應用程式"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "&Undo"
+msgstr "復原(&U)"
+
+#: gui/kstandardactions_p.h:79
+msgctxt "KStandardActions|"
+msgid "Undo last action"
+msgstr "復原上一次動作"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Re&do"
+msgstr "重做(&D)"
+
+#: gui/kstandardactions_p.h:80
+msgctxt "KStandardActions|"
+msgid "Redo last undone action"
+msgstr "重做上一次的動作"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cu&t"
+msgstr "剪下(&T)"
+
+#: gui/kstandardactions_p.h:81
+msgctxt "KStandardActions|"
+msgid "Cut selection to clipboard"
+msgstr "將選取內容剪下到剪貼簿"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "&Copy"
+msgstr "複製(&C)"
+
+#: gui/kstandardactions_p.h:82
+msgctxt "KStandardActions|"
+msgid "Copy selection to clipboard"
+msgstr "將選取內容複製到剪貼簿"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "&Paste"
+msgstr "貼上(&P)"
+
+#: gui/kstandardactions_p.h:83
+msgctxt "KStandardActions|"
+msgid "Paste clipboard content"
+msgstr "貼上剪貼簿內容"
+
+#: gui/kstandardactions_p.h:84
+msgctxt "KStandardActions|"
+msgid "C&lear"
+msgstr "清除(&L)"
+
+#: gui/kstandardactions_p.h:85
+msgctxt "KStandardActions|"
+msgid "Select &All"
+msgstr "全部選取(&A)"
+
+#: gui/kstandardactions_p.h:86
+msgctxt "KStandardActions|"
+msgid "Dese&lect"
+msgstr "取消選擇(&L)"
+
+#: gui/kstandardactions_p.h:87
+msgctxt "KStandardActions|"
+msgid "&Find…"
+msgstr "尋找(&F)…"
+
+#: gui/kstandardactions_p.h:88
+msgctxt "KStandardActions|"
+msgid "Find &Next"
+msgstr "尋找下一個(&N)"
+
+#: gui/kstandardactions_p.h:89
+msgctxt "KStandardActions|"
+msgid "Find Pre&vious"
+msgstr "尋找上一個(&V)"
+
+#: gui/kstandardactions_p.h:90
+msgctxt "KStandardActions|"
+msgid "&Replace…"
+msgstr "取代(&R)…"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "Zoom to &Actual Size"
+msgstr "縮放到實際大小(&A)"
+
+#: gui/kstandardactions_p.h:92
+msgctxt "KStandardActions|"
+msgid "View document at its actual size"
+msgstr "以實際大小檢視文件"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "&Fit to Page"
+msgstr "調整成適合頁面大小(&F)"
+
+#: gui/kstandardactions_p.h:93
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page in window"
+msgstr "縮放到適合視窗內頁面"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Width"
+msgstr "調整成適合頁面寬度(&W)"
+
+#: gui/kstandardactions_p.h:94
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page width in window"
+msgstr "縮放到頁面寬度適合視窗"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Fit to Page &Height"
+msgstr "調整成適合頁面高度(&H)"
+
+#: gui/kstandardactions_p.h:95
+msgctxt "KStandardActions|"
+msgid "Zoom to fit page height in window"
+msgstr "縮放到頁面高度適合視窗"
+
+#: gui/kstandardactions_p.h:96
+msgctxt "KStandardActions|"
+msgid "Zoom &In"
+msgstr "放大(&I)"
+
+#: gui/kstandardactions_p.h:97
+msgctxt "KStandardActions|"
+msgid "Zoom &Out"
+msgstr "縮小(&O)"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "&Zoom…"
+msgstr "縮放(&Z)…"
+
+#: gui/kstandardactions_p.h:98
+msgctxt "KStandardActions|"
+msgid "Select zoom level"
+msgstr "選擇縮放等級"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "&Refresh"
+msgstr "重新整理(&R)"
+
+#: gui/kstandardactions_p.h:99
+msgctxt "KStandardActions|"
+msgid "Refresh document"
+msgstr "重新整理文件"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "&Up"
+msgstr "向上(&U)"
+
+#: gui/kstandardactions_p.h:101
+msgctxt "KStandardActions|"
+msgid "Go up"
+msgstr "往上"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "&Previous Page"
+msgstr "上一頁(&P)"
+
+#: gui/kstandardactions_p.h:106
+msgctxt "KStandardActions|"
+msgid "Go to previous page"
+msgstr "回到上一頁"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "&Next Page"
+msgstr "下一頁(&N)"
+
+#: gui/kstandardactions_p.h:107
+msgctxt "KStandardActions|"
+msgid "Go to next page"
+msgstr "前往下一頁"
+
+#: gui/kstandardactions_p.h:108
+msgctxt "KStandardActions|"
+msgid "&Go To…"
+msgstr "前往(&G)…"
+
+#: gui/kstandardactions_p.h:109
+msgctxt "KStandardActions|"
+msgid "&Go to Page…"
+msgstr "移至頁面(&G)…"
+
+#: gui/kstandardactions_p.h:110
+msgctxt "KStandardActions|"
+msgid "&Go to Line…"
+msgstr "跳至行號(&G)…"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "&First Page"
+msgstr "第一頁(&F)"
+
+#: gui/kstandardactions_p.h:111
+msgctxt "KStandardActions|"
+msgid "Go to first page"
+msgstr "前往第一頁"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "&Last Page"
+msgstr "最後一頁(&L)"
+
+#: gui/kstandardactions_p.h:112
+msgctxt "KStandardActions|"
+msgid "Go to last page"
+msgstr "前往最後一頁"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "&Back"
+msgstr "返回(&B)"
+
+#: gui/kstandardactions_p.h:113
+msgctxt "KStandardActions|"
+msgid "Go back in document"
+msgstr "在文件內返回"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "&Forward"
+msgstr "往前(&F)"
+
+#: gui/kstandardactions_p.h:114
+msgctxt "KStandardActions|"
+msgid "Go forward in document"
+msgstr "在文件內往前"
+
+#: gui/kstandardactions_p.h:116
+msgctxt "KStandardActions|"
+msgid "&Add Bookmark"
+msgstr "新增書籤(&A)"
+
+#: gui/kstandardactions_p.h:117
+msgctxt "KStandardActions|"
+msgid "&Edit Bookmarks…"
+msgstr "編輯書籤(&E)…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "&Spelling…"
+msgstr "拼字(&S)…"
+
+#: gui/kstandardactions_p.h:119
+msgctxt "KStandardActions|"
+msgid "Check spelling in document"
+msgstr "檢查文件內的拼字"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show &Menubar"
+msgstr "顯示選單列(&M)"
+
+#: gui/kstandardactions_p.h:121
+msgctxt "KStandardActions|"
+msgid "Show or hide menubar"
+msgstr "顯示或隱藏選單列"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show &Toolbar"
+msgstr "顯示工具列(&T)"
+
+#: gui/kstandardactions_p.h:122
+msgctxt "KStandardActions|"
+msgid "Show or hide toolbar"
+msgstr "顯示或隱藏工具列"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show St&atusbar"
+msgstr "顯示狀態列(&A)"
+
+#: gui/kstandardactions_p.h:123
+msgctxt "KStandardActions|"
+msgid "Show or hide statusbar"
+msgstr "顯示或隱藏狀態列"
+
+#: gui/kstandardactions_p.h:124
+msgctxt "KStandardActions|"
+msgid "F&ull Screen Mode"
+msgstr "全螢幕模式(&U)"
+
+#: gui/kstandardactions_p.h:125
+msgctxt "KStandardActions|"
+msgid "Configure Keyboard S&hortcuts…"
+msgstr "設定鍵盤快捷鍵(&H)…"
+
+#: gui/kstandardactions_p.h:126
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&Configure %1…"
+msgstr "設定 %1(&C)…"
+
+#: gui/kstandardactions_p.h:127
+msgctxt "KStandardActions|"
+msgid "Configure Tool&bars…"
+msgstr "設定工具列(&B)…"
+
+#: gui/kstandardactions_p.h:128
+msgctxt "KStandardActions|"
+msgid "Configure &Notifications…"
+msgstr "設定通知(&N)…"
+
+#: gui/kstandardactions_p.h:132
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "%1 &Handbook"
+msgstr "%1 手冊(&H)"
+
+#: gui/kstandardactions_p.h:133
+msgctxt "KStandardActions|"
+msgid "What's &This?"
+msgstr "這是什麼?(&T)"
+
+#: gui/kstandardactions_p.h:134
+msgctxt "KStandardActions|"
+msgid "&Report Bug…"
+msgstr "回報問題(&R)…"
+
+#: gui/kstandardactions_p.h:135
+msgctxt "KStandardActions|"
+msgid "Configure &Language…"
+msgstr "設定語言(&L)…"
+
+#: gui/kstandardactions_p.h:136
+#, qt-format
+msgctxt "KStandardActions|"
+msgid "&About %1"
+msgstr "關於 %1(&A)"
+
+#: gui/kstandardactions_p.h:137
+msgctxt "KStandardActions|"
+msgid "About &KDE"
+msgstr "關於 &KDE"
+
+#: gui/kstandardactions_p.h:138
+msgctxt "KStandardActions|"
+msgid "&Delete"
+msgstr "刪除(&D)"
+
+#: gui/kstandardactions_p.h:139
+msgctxt "KStandardActions|"
+msgid "&Rename…"
+msgstr "重新命名(&R)…"
+
+#: gui/kstandardactions_p.h:140
+msgctxt "KStandardActions|"
+msgid "&Move to Trash"
+msgstr "移到垃圾桶(&M)"
+
+#: gui/kstandardactions_p.h:141
+msgctxt "KStandardActions|"
+msgid "&Donate"
+msgstr "捐獻(&D)"
+
+#: gui/kstandardactions_p.h:142
+msgctxt "KStandardActions|"
+msgid "Open &Menu"
+msgstr "開啟選單(&M)"
+
+#: gui/kstandardshortcut.cpp:71
+msgctxt "KStandardShortcut|@action"
+msgid "Open"
+msgstr "開啟"
+
+#: gui/kstandardshortcut.cpp:72
+msgctxt "KStandardShortcut|@action"
+msgid "New"
+msgstr "新增"
+
+#: gui/kstandardshortcut.cpp:73
+msgctxt "KStandardShortcut|@action"
+msgid "Close"
+msgstr "關閉"
+
+#: gui/kstandardshortcut.cpp:74
+msgctxt "KStandardShortcut|@action"
+msgid "Save"
+msgstr "儲存"
+
+#: gui/kstandardshortcut.cpp:75
+msgctxt "KStandardShortcut|@action"
+msgid "Print"
+msgstr "列印"
+
+#: gui/kstandardshortcut.cpp:76
+msgctxt "KStandardShortcut|@action"
+msgid "Quit"
+msgstr "離開"
+
+#: gui/kstandardshortcut.cpp:79
+msgctxt "KStandardShortcut|@action"
+msgid "Undo"
+msgstr "復原"
+
+#: gui/kstandardshortcut.cpp:80
+msgctxt "KStandardShortcut|@action"
+msgid "Redo"
+msgstr "重做"
+
+#: gui/kstandardshortcut.cpp:83
+msgctxt "KStandardShortcut|@action"
+msgid "Cut"
+msgstr "剪下"
+
+#: gui/kstandardshortcut.cpp:84
+msgctxt "KStandardShortcut|@action"
+msgid "Copy"
+msgstr "複製"
+
+#: gui/kstandardshortcut.cpp:85
+msgctxt "KStandardShortcut|@action"
+msgid "Paste"
+msgstr "貼上"
+
+#: gui/kstandardshortcut.cpp:88
+msgctxt "KStandardShortcut|@action"
+msgid "Paste Selection"
+msgstr "貼上選擇區"
+
+#: gui/kstandardshortcut.cpp:95
+msgctxt "KStandardShortcut|@action"
+msgid "Select All"
+msgstr "全部選取"
+
+#: gui/kstandardshortcut.cpp:96
+msgctxt "KStandardShortcut|@action"
+msgid "Deselect"
+msgstr "取消選擇"
+
+#: gui/kstandardshortcut.cpp:99
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Backwards"
+msgstr "向後刪字"
+
+#: gui/kstandardshortcut.cpp:111
+msgctxt "KStandardShortcut|@action"
+msgid "Delete Word Forward"
+msgstr "向前刪字"
+
+#: gui/kstandardshortcut.cpp:122
+msgctxt "KStandardShortcut|@action"
+msgid "Find"
+msgstr "尋找"
+
+#: gui/kstandardshortcut.cpp:123
+msgctxt "KStandardShortcut|@action"
+msgid "Find Next"
+msgstr "尋找下一個"
+
+#: gui/kstandardshortcut.cpp:124
+msgctxt "KStandardShortcut|@action"
+msgid "Find Prev"
+msgstr "尋找上一個"
+
+#: gui/kstandardshortcut.cpp:125
+msgctxt "KStandardShortcut|@action"
+msgid "Replace"
+msgstr "取代"
+
+#: gui/kstandardshortcut.cpp:130
+msgctxt "KStandardShortcut|@action Go to main page"
+msgid "Home"
+msgstr "首頁"
+
+#: gui/kstandardshortcut.cpp:138
+msgctxt "KStandardShortcut|@action Beginning of document"
+msgid "Begin"
+msgstr "開始"
+
+#: gui/kstandardshortcut.cpp:150
+msgctxt "KStandardShortcut|@action End of document"
+msgid "End"
+msgstr "結束"
+
+#: gui/kstandardshortcut.cpp:160
+msgctxt "KStandardShortcut|@action"
+msgid "Prior"
+msgstr "上一個"
+
+#: gui/kstandardshortcut.cpp:163
+msgctxt "KStandardShortcut|@action Opposite to Prior"
+msgid "Next"
+msgstr "下一個"
+
+#: gui/kstandardshortcut.cpp:170
+msgctxt "KStandardShortcut|@action"
+msgid "Up"
+msgstr "向上"
+
+#: gui/kstandardshortcut.cpp:171
+msgctxt "KStandardShortcut|@action"
+msgid "Back"
+msgstr "返回"
+
+#: gui/kstandardshortcut.cpp:174
+msgctxt "KStandardShortcut|@action"
+msgid "Forward"
+msgstr "往前"
+
+#: gui/kstandardshortcut.cpp:182
+msgctxt "KStandardShortcut|@action"
+msgid "Reload"
+msgstr "重新載入"
+
+#: gui/kstandardshortcut.cpp:191
+msgctxt "KStandardShortcut|@action"
+msgid "Beginning of Line"
+msgstr "行開頭"
+
+#: gui/kstandardshortcut.cpp:203
+msgctxt "KStandardShortcut|@action"
+msgid "End of Line"
+msgstr "行結尾"
+
+#: gui/kstandardshortcut.cpp:213
+msgctxt "KStandardShortcut|@action"
+msgid "Go to Line"
+msgstr "跳至行號"
+
+#: gui/kstandardshortcut.cpp:216
+msgctxt "KStandardShortcut|@action"
+msgid "Backward Word"
+msgstr "返回一個詞語"
+
+#: gui/kstandardshortcut.cpp:228
+msgctxt "KStandardShortcut|@action"
+msgid "Forward Word"
+msgstr "往前一個詞語"
+
+#: gui/kstandardshortcut.cpp:241
+msgctxt "KStandardShortcut|@action"
+msgid "Add Bookmark"
+msgstr "加入書籤"
+
+#: gui/kstandardshortcut.cpp:247
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom In"
+msgstr "放大"
+
+#: gui/kstandardshortcut.cpp:248
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom Out"
+msgstr "縮小"
+
+#: gui/kstandardshortcut.cpp:251
+msgctxt "KStandardShortcut|@action"
+msgid "Full Screen Mode"
+msgstr "全螢幕模式"
+
+#: gui/kstandardshortcut.cpp:262
+msgctxt "KStandardShortcut|@action"
+msgid "Show Menu Bar"
+msgstr "顯示選單列"
+
+#: gui/kstandardshortcut.cpp:265
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Next Tab"
+msgstr "跳到下一個分頁"
+
+#: gui/kstandardshortcut.cpp:273
+msgctxt "KStandardShortcut|@action"
+msgid "Activate Previous Tab"
+msgstr "跳到前一個分頁"
+
+#: gui/kstandardshortcut.cpp:281
+msgctxt "KStandardShortcut|@action"
+msgid "Help"
+msgstr "說明"
+
+#: gui/kstandardshortcut.cpp:282
+msgctxt "KStandardShortcut|@action"
+msgid "What's This"
+msgstr "這是什麼"
+
+#: gui/kstandardshortcut.cpp:287
+msgctxt "KStandardShortcut|@action"
+msgid "Text Completion"
+msgstr "文字補完"
+
+#: gui/kstandardshortcut.cpp:295
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Completion Match"
+msgstr "上一個完成符合"
+
+#: gui/kstandardshortcut.cpp:303
+msgctxt "KStandardShortcut|@action"
+msgid "Next Completion Match"
+msgstr "下一個完成符合"
+
+#: gui/kstandardshortcut.cpp:311
+msgctxt "KStandardShortcut|@action"
+msgid "Substring Completion"
+msgstr "子字串完成"
+
+#: gui/kstandardshortcut.cpp:320
+msgctxt "KStandardShortcut|@action"
+msgid "Previous Item in List"
+msgstr "上一個清單中的項目"
+
+#: gui/kstandardshortcut.cpp:328
+msgctxt "KStandardShortcut|@action"
+msgid "Next Item in List"
+msgstr "下一個清單中的項目"
+
+#: gui/kstandardshortcut.cpp:335
+msgctxt "KStandardShortcut|@action"
+msgid "Open Recent"
+msgstr "開啟最近的"
+
+#: gui/kstandardshortcut.cpp:336
+msgctxt "KStandardShortcut|@action"
+msgid "Save As"
+msgstr "另存為"
+
+#: gui/kstandardshortcut.cpp:337
+msgctxt "KStandardShortcut|@action"
+msgid "Revert"
+msgstr "回復"
+
+#: gui/kstandardshortcut.cpp:338
+msgctxt "KStandardShortcut|@action"
+msgid "Print Preview"
+msgstr "預覽列印"
+
+#: gui/kstandardshortcut.cpp:339
+msgctxt "KStandardShortcut|@action"
+msgid "Mail"
+msgstr "郵件"
+
+#: gui/kstandardshortcut.cpp:340
+msgctxt "KStandardShortcut|@action"
+msgid "Clear"
+msgstr "清除"
+
+#: gui/kstandardshortcut.cpp:343
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom to Actual Size"
+msgstr "縮放到實際大小"
+
+#: gui/kstandardshortcut.cpp:349
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Page"
+msgstr "調整成適合頁面大小"
+
+#: gui/kstandardshortcut.cpp:350
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Width"
+msgstr "調整成適合頁面寬度"
+
+#: gui/kstandardshortcut.cpp:351
+msgctxt "KStandardShortcut|@action"
+msgid "Fit To Height"
+msgstr "調整成適合頁面高度"
+
+#: gui/kstandardshortcut.cpp:352
+msgctxt "KStandardShortcut|@action"
+msgid "Zoom"
+msgstr "縮放"
+
+#: gui/kstandardshortcut.cpp:353
+msgctxt "KStandardShortcut|@action"
+msgid "Goto"
+msgstr "跳至"
+
+#: gui/kstandardshortcut.cpp:354
+msgctxt "KStandardShortcut|@action"
+msgid "Goto Page"
+msgstr "移至頁面"
+
+#: gui/kstandardshortcut.cpp:357
+msgctxt "KStandardShortcut|@action"
+msgid "Document Back"
+msgstr "文件返回"
+
+#: gui/kstandardshortcut.cpp:365
+msgctxt "KStandardShortcut|@action"
+msgid "Document Forward"
+msgstr "文件向前"
+
+#: gui/kstandardshortcut.cpp:373
+msgctxt "KStandardShortcut|@action"
+msgid "Edit Bookmarks"
+msgstr "編輯書籤"
+
+#: gui/kstandardshortcut.cpp:379
+msgctxt "KStandardShortcut|@action"
+msgid "Spelling"
+msgstr "拼字"
+
+#: gui/kstandardshortcut.cpp:380
+msgctxt "KStandardShortcut|@action"
+msgid "Show Toolbar"
+msgstr "顯示工具列"
+
+#: gui/kstandardshortcut.cpp:381
+msgctxt "KStandardShortcut|@action"
+msgid "Show Statusbar"
+msgstr "顯示狀態列"
+
+#: gui/kstandardshortcut.cpp:384
+msgctxt "KStandardShortcut|@action"
+msgid "Key Bindings"
+msgstr "按鍵組合"
+
+#: gui/kstandardshortcut.cpp:392
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Application"
+msgstr "設定應用程式"
+
+#: gui/kstandardshortcut.cpp:400
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Toolbars"
+msgstr "設定工具列"
+
+#: gui/kstandardshortcut.cpp:408
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Notifications"
+msgstr "設定通知"
+
+#: gui/kstandardshortcut.cpp:414
+msgctxt "KStandardShortcut|@action"
+msgid "Report Bug"
+msgstr "回報問題"
+
+#: gui/kstandardshortcut.cpp:417
+msgctxt "KStandardShortcut|@action"
+msgid "Configure Language…"
+msgstr "設定語言…"
+
+#: gui/kstandardshortcut.cpp:423
+msgctxt "KStandardShortcut|@action"
+msgid "About Application"
+msgstr "關於應用程式"
+
+#: gui/kstandardshortcut.cpp:424
+msgctxt "KStandardShortcut|@action"
+msgid "About KDE"
+msgstr "關於 KDE"
+
+#: gui/kstandardshortcut.cpp:427
+msgctxt "KStandardShortcut|@action"
+msgid "Delete"
+msgstr "刪除"
+
+#: gui/kstandardshortcut.cpp:428
+msgctxt "KStandardShortcut|@action"
+msgid "Rename"
+msgstr "重新命名"
+
+#: gui/kstandardshortcut.cpp:431
+msgctxt "KStandardShortcut|@action"
+msgid "Move to Trash"
+msgstr "移到垃圾桶"
+
+#: gui/kstandardshortcut.cpp:437
+msgctxt "KStandardShortcut|@action"
+msgid "Donate"
+msgstr "捐獻"
+
+#: gui/kstandardshortcut.cpp:440
+msgctxt "KStandardShortcut|@action"
+msgid "Show/Hide Hidden Files"
+msgstr "顯示/隱藏已隱藏的檔案"
+
+#: gui/kstandardshortcut.cpp:448
+msgctxt "KStandardShortcut|@action"
+msgid "Create Folder"
+msgstr "建立資料夾"
+
+#: gui/kstandardshortcut.cpp:456
+msgctxt ""
+"KStandardShortcut|@action referring to the menu bar or a hamburger menu"
+msgid "Open Main Menu"
+msgstr "開啟主選單"
+
+#: gui/kstandardshortcut.cpp:464
+msgctxt "KStandardShortcut|@action"
+msgid "Open Context Menu"
+msgstr "開啟內文選單"
+
+#: kconf_update/kconf_update.cpp:368
+msgctxt "main|"
+msgid "KDE Tool for updating user configuration files"
+msgstr "用來更新使用者設定檔案的 KDE 工具"
+
+#: kconf_update/kconf_update.cpp:370
+msgctxt "main|"
+msgid "Keep output results from scripts"
+msgstr "保留文稿的輸出結果"
+
+#: kconf_update/kconf_update.cpp:373
+msgctxt "main|"
+msgid ""
+"For unit tests only: do not write the done entries, so that with every re-"
+"run, the scripts are executed again"
+msgstr ""
+"僅單元測試:不要寫出完成的項目,這樣每次重新執行的時候腳本才會一起重新執行"
+
+#: kconf_update/kconf_update.cpp:375
+msgctxt "main|"
+msgid "Check whether config file itself requires updating"
+msgstr "檢查設定檔是否需要更新"
+
+#: kconf_update/kconf_update.cpp:378
+msgctxt "main|"
+msgid "File(s) to read update instructions from"
+msgstr "要讀入更新說明指令的檔案"
+
+#: kconfig_compiler/kconfig_compiler.cpp:726
+msgctxt "main|"
+msgid "Directory to generate files in [.]"
+msgstr "產生檔案的目錄 [.]"
+
+#: kconfig_compiler/kconfig_compiler.cpp:727
+msgctxt "main|"
+msgid "directory"
+msgstr "目錄"
+
+#: kconfig_compiler/kconfig_compiler.cpp:731
+msgctxt "main|"
+msgid "Display software license."
+msgstr "顯示軟體授權。"
+
+#: kreadconfig/kreadconfig.cpp:46 kreadconfig/kwriteconfig.cpp:25
+msgctxt "main|"
+msgid "Use <file> instead of global config"
+msgstr "使用 <file> 代替全域設定"
+
+#: kreadconfig/kreadconfig.cpp:49 kreadconfig/kwriteconfig.cpp:28
+msgctxt "main|"
+msgid ""
+"Group to look in. Use \"<default>\" for the root group, or use repeatedly "
+"for nested groups."
+msgstr "要檢閱的群組。root 群組請使用 <default> ,或重複使用以檢視巢狀群組。"
+
+#: kreadconfig/kreadconfig.cpp:52 kreadconfig/kwriteconfig.cpp:31
+msgctxt "main|"
+msgid "Key to look for"
+msgstr "要檢視的鍵值"
+
+#: kreadconfig/kreadconfig.cpp:53
+msgctxt "main|"
+msgid "Default value"
+msgstr "預設數值"
+
+#: kreadconfig/kreadconfig.cpp:54
+msgctxt "main|"
+msgid "Type of variable"
+msgstr "變數類別"
+
+#: kreadconfig/kreadconfig.cpp:84 kreadconfig/kwriteconfig.cpp:69
+msgctxt "main|"
+msgid "Group name cannot be empty, use \"<default>\" for the root group"
+msgstr "群組名稱不能為空,請為 root 使用者群組使用「<default>」設定"
+
+#: kreadconfig/kwriteconfig.cpp:34
+msgctxt "main|"
+msgid ""
+"Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a "
+"string"
+msgstr "變數型別。用 bool 表示布林(真假)值,其他型別都將被視為字串"
+
+#: kreadconfig/kwriteconfig.cpp:36
+msgctxt "main|"
+msgid "Delete the designated key if enabled"
+msgstr "啟用時刪除指定鍵"
+
+#: kreadconfig/kwriteconfig.cpp:37
+msgctxt "main|"
+msgid "The value to write. Mandatory, on a shell use '' for empty"
+msgstr "要寫入的值。在 shell 中空的值使用 ''"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Tip Of Day"
+#~ msgstr "每日小祕訣"
+
+#~ msgctxt "main|"
+#~ msgid ""
+#~ "For unit tests only: use test directories to stay away from the user's "
+#~ "real files"
+#~ msgstr "單元測試用:用測試目錄以避免動到使用者真正的檔案"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Save Options"
+#~ msgstr "儲存選項"
+
+#~ msgctxt "KStandardShortcut|@action"
+#~ msgid "Switch Application Language"
+#~ msgstr "切換應用程式語言"
--- /dev/null
+add_subdirectory(core)
+if(TARGET Qt6::Gui)
+ add_subdirectory(gui)
+endif()
+if(KCONFIG_USE_QML)
+ add_subdirectory(qml)
+endif()
+add_subdirectory(kconfig_compiler)
+add_subdirectory(kconf_update)
+add_subdirectory(kreadconfig)
+
+ecm_qt_install_logging_categories(
+ EXPORT KCONFIG
+ FILE kconfig.categories
+ DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
+)
+
+if(BUILD_QCH)
+ ecm_add_qch(
+ KF6Config_QCH
+ NAME KConfig
+ BASE_NAME KF6Config
+ VERSION ${KF_VERSION}
+ ORG_DOMAIN org.kde
+ SOURCES # using only public headers, to cover only public API
+ ${KConfigCore_APIDOX_SRCS}
+ ${KConfigGui_APIDOX_SRCS}
+ "${CMAKE_CURRENT_SOURCE_DIR}/kconfig_compiler/README.dox"
+ "${CMAKE_SOURCE_DIR}/docs/options.md"
+ MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
+ LINK_QCHS
+ Qt6Core_QCH
+ Qt6Xml_QCH
+ Qt6Gui_QCH
+ INCLUDE_DIRS
+ ${KConfigCore_APIDOX_INCLUDE_DIRS}
+ ${KConfigGui_APIDOX_INCLUDE_DIRS}
+ BLANK_MACROS
+ KCONFIGCORE_EXPORT
+ KCONFIGCORE_DEPRECATED_EXPORT
+ KCONFIGCORE_DEPRECATED
+ "KCONFIGCORE_DEPRECATED_VERSION(x, y, t)"
+ "KCONFIGCORE_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)"
+ "KCONFIGCORE_ENUMERATOR_DEPRECATED_VERSION(x, y, t)"
+ "KCONFIGCORE_ENUMERATOR_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)"
+ KCONFIGGUI_EXPORT
+ KCONFIGGUI_DEPRECATED_EXPORT
+ KCONFIGGUI_DEPRECATED
+ "KCONFIGGUI_DEPRECATED_VERSION(x, y, t)"
+ "KCONFIGGUI_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)"
+ "KCONFIGGUI_ENUMERATOR_DEPRECATED_VERSION(x, y, t)"
+ "KCONFIGGUI_ENUMERATOR_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)"
+ TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
+ QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
+ COMPONENT Devel
+ )
+endif()
--- /dev/null
+#!/bin/sh
+
+# Extract strings from all source files.
+# EXTRACT_TR_STRINGS extracts strings with lupdate and convert them to .pot with
+# lconvert.
+$EXTRACT_TR_STRINGS `find . -name \*.cpp -o -name \*.h -o -name \*.ui -o -name \*.qml` -o $podir/kconfig6_qt.pot
--- /dev/null
+add_library(KF6ConfigCore)
+add_library(KF6::ConfigCore ALIAS KF6ConfigCore)
+
+qt_extract_metatypes(KF6ConfigCore)
+
+set_target_properties(KF6ConfigCore PROPERTIES
+ VERSION ${KCONFIG_VERSION}
+ SOVERSION ${KCONFIG_SOVERSION}
+ EXPORT_NAME ConfigCore
+)
+
+target_sources(KF6ConfigCore PRIVATE
+ kconfig.cpp
+ kconfigbase.cpp
+ kconfigdata.cpp
+ kconfiggroup.cpp
+ kconfigini.cpp
+ kdesktopfile.cpp
+ kdesktopfileaction.cpp
+ ksharedconfig.cpp
+ kcoreconfigskeleton.cpp
+ kauthorized.cpp
+ kemailsettings.cpp
+ kconfigwatcher.cpp
+)
+
+ecm_qt_declare_logging_category(KF6ConfigCore
+ HEADER kconfig_core_log_settings.h
+ IDENTIFIER KCONFIG_CORE_LOG
+ CATEGORY_NAME kf.config.core
+ OLD_CATEGORY_NAMES kf5.kconfig.core
+ DESCRIPTION "KConfig Core"
+ EXPORT KCONFIG
+)
+
+configure_file(config-kconfig.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-kconfig.h )
+
+ecm_generate_export_header(KF6ConfigCore
+ BASE_NAME KConfigCore
+ GROUP_BASE_NAME KF
+ VERSION ${KF_VERSION}
+ USE_VERSION_HEADER
+ VERSION_BASE_NAME KConfig
+ DEPRECATED_BASE_VERSION 0
+ DEPRECATION_VERSIONS 6.3
+ EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
+)
+
+target_compile_definitions(KF6ConfigCore
+ PRIVATE
+ KCONF_UPDATE_INSTALL_LOCATION="${KDE_INSTALL_FULL_LIBEXECDIR_KF}/$<TARGET_FILE_NAME:KF6::kconf_update>"
+)
+
+target_include_directories(KF6ConfigCore
+ INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KConfig;${KDE_INSTALL_INCLUDEDIR_KF}/KConfigCore>"
+)
+
+target_link_libraries(KF6ConfigCore PUBLIC Qt6::Core)
+
+if(KCONFIG_USE_DBUS)
+ target_link_libraries(KF6ConfigCore PRIVATE Qt6::DBus)
+endif()
+
+ecm_generate_headers(KConfigCore_HEADERS
+ HEADER_NAMES
+ KAuthorized
+ KConfig
+ KConfigBase
+ KConfigGroup
+ KDesktopFile
+ KDesktopFileAction
+ KSharedConfig
+ KCoreConfigSkeleton
+ KEMailSettings
+ KConfigWatcher
+
+ REQUIRED_HEADERS KConfigCore_HEADERS
+)
+
+list(APPEND KConfigCore_HEADERS
+ ${CMAKE_CURRENT_SOURCE_DIR}/kconfigconversioncheck_p.h # helper header included by kconfiggroup.h
+)
+
+install(TARGETS KF6ConfigCore EXPORT KF6ConfigTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
+
+install(FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/kconfigcore_export.h
+ ${KConfigCore_HEADERS}
+ DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KConfigCore COMPONENT Devel
+)
+
+# make available to ecm_add_qch in parent folder
+set(KConfigCore_APIDOX_SRCS ${KConfigCore_HEADERS} PARENT_SCOPE)
+set(KConfigCore_APIDOX_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR} PARENT_SCOPE)
+
--- /dev/null
+#cmakedefine01 KCONFIG_USE_DBUS
--- /dev/null
+// SPDX-License-Identifier: LGPL-2.0-or-later
+// SPDX-FileCopyrightText: 2023 Harald Sitter <sitter@kde.org>
+
+#pragma once
+
+#include <cctype>
+#include <locale>
+
+#include <QString>
+
+inline QString kconfigDBusSanitizePath(QString path)
+{
+ for (auto &character : path) {
+ if ((std::isalnum(character.toLatin1(), std::locale::classic()) == 0) && character != QLatin1Char('_') && character != QLatin1Char('/')) {
+ character = QLatin1Char('_');
+ }
+ }
+ // KConfig notifying or watching on / makes no sense
+ Q_ASSERT_X(path.length() > 1, Q_FUNC_INFO, qUtf8Printable(path));
+ // As per spec the path must start with a slash
+ Q_ASSERT_X(path.at(0) == QLatin1Char('/'), Q_FUNC_INFO, qUtf8Printable(path));
+ // ...but not end with a slash
+ Q_ASSERT_X(path.at(path.size() - 1) != QLatin1Char('/'), Q_FUNC_INFO, qUtf8Printable(path));
+ // ...it also must not contain multiple slashes in sequence
+ Q_ASSERT_X(!path.contains(QLatin1String("//")), Q_FUNC_INFO, qUtf8Printable(path));
+ return path;
+}
--- /dev/null
+/* This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 1997 Matthias Kalle Dalheimer <kalle@kde.org>
+ SPDX-FileCopyrightText: 1998, 1999, 2000 Waldo Bastian <bastian@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kauthorized.h"
+
+#include <QDebug>
+#include <QDir>
+#include <QList>
+#include <QUrl>
+
+#include "kconfig_core_log_settings.h"
+#include <QCoreApplication>
+#include <ksharedconfig.h>
+#include <stdlib.h> // srand(), rand()
+#ifndef Q_OS_WIN
+#include <netdb.h>
+#include <unistd.h>
+#endif
+
+#include <kconfiggroup.h>
+
+#include <QMutexLocker>
+#include <QRecursiveMutex>
+
+extern bool kde_kiosk_exception;
+
+class URLActionRule
+{
+public:
+#define checkExactMatch(s, b) \
+ if (s.isEmpty()) \
+ b = true; \
+ else if (s[s.length() - 1] == QLatin1Char('!')) { \
+ b = false; \
+ s.chop(1); \
+ } else \
+ b = true;
+#define checkStartWildCard(s, b) \
+ if (s.isEmpty()) \
+ b = true; \
+ else if (s[0] == QLatin1Char('*')) { \
+ b = true; \
+ s.remove(0, 1); \
+ } else \
+ b = false;
+#define checkEqual(s, b) b = (s == QLatin1String("="));
+
+ URLActionRule(const QByteArray &act,
+ const QString &bProt,
+ const QString &bHost,
+ const QString &bPath,
+ const QString &dProt,
+ const QString &dHost,
+ const QString &dPath,
+ bool perm)
+ : action(act)
+ , baseProt(bProt)
+ , baseHost(bHost)
+ , basePath(bPath)
+ , destProt(dProt)
+ , destHost(dHost)
+ , destPath(dPath)
+ , permission(perm)
+ {
+ checkExactMatch(baseProt, baseProtWildCard);
+ checkStartWildCard(baseHost, baseHostWildCard);
+ checkExactMatch(basePath, basePathWildCard);
+ checkExactMatch(destProt, destProtWildCard);
+ checkStartWildCard(destHost, destHostWildCard);
+ checkExactMatch(destPath, destPathWildCard);
+ checkEqual(destProt, destProtEqual);
+ checkEqual(destHost, destHostEqual);
+ }
+
+ bool baseMatch(const QUrl &url, const QString &protClass) const
+ {
+ if (baseProtWildCard) {
+ if (!baseProt.isEmpty() //
+ && !url.scheme().startsWith(baseProt) //
+ && (protClass.isEmpty() || (protClass != baseProt))) {
+ return false;
+ }
+ } else {
+ if (url.scheme() != baseProt //
+ && (protClass.isEmpty() || (protClass != baseProt))) {
+ return false;
+ }
+ }
+ if (baseHostWildCard) {
+ if (!baseHost.isEmpty() && !url.host().endsWith(baseHost)) {
+ return false;
+ }
+ } else {
+ if (url.host() != baseHost) {
+ return false;
+ }
+ }
+ if (basePathWildCard) {
+ if (!basePath.isEmpty() && !url.path().startsWith(basePath)) {
+ return false;
+ }
+ } else {
+ if (url.path() != basePath) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ bool destMatch(const QUrl &url, const QString &protClass, const QUrl &base, const QString &baseClass) const
+ {
+ if (destProtEqual) {
+ if (url.scheme() != base.scheme() //
+ && (protClass.isEmpty() || baseClass.isEmpty() || protClass != baseClass)) {
+ return false;
+ }
+ } else if (destProtWildCard) {
+ if (!destProt.isEmpty() //
+ && !url.scheme().startsWith(destProt) //
+ && (protClass.isEmpty() || (protClass != destProt))) {
+ return false;
+ }
+ } else {
+ if (url.scheme() != destProt //
+ && (protClass.isEmpty() || (protClass != destProt))) {
+ return false;
+ }
+ }
+ if (destHostWildCard) {
+ if (!destHost.isEmpty() && !url.host().endsWith(destHost)) {
+ return false;
+ }
+ } else if (destHostEqual) {
+ if (url.host() != base.host()) {
+ return false;
+ }
+ } else {
+ if (url.host() != destHost) {
+ return false;
+ }
+ }
+ if (destPathWildCard) {
+ if (!destPath.isEmpty() && !url.path().startsWith(destPath)) {
+ return false;
+ }
+ } else {
+ if (url.path() != destPath) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ QByteArray action;
+ QString baseProt;
+ QString baseHost;
+ QString basePath;
+ QString destProt;
+ QString destHost;
+ QString destPath;
+ bool baseProtWildCard : 1;
+ bool baseHostWildCard : 1;
+ bool basePathWildCard : 1;
+ bool destProtWildCard : 1;
+ bool destHostWildCard : 1;
+ bool destPathWildCard : 1;
+ bool destProtEqual : 1;
+ bool destHostEqual : 1;
+ bool permission;
+};
+
+Q_DECLARE_TYPEINFO(URLActionRule, Q_RELOCATABLE_TYPE);
+
+class KAuthorizedPrivate
+{
+public:
+ KAuthorizedPrivate()
+ : actionRestrictions(false)
+ , blockEverything(false)
+ {
+ Q_ASSERT_X(QCoreApplication::instance(), "KAuthorizedPrivate()", "There has to be an existing QCoreApplication::instance() pointer");
+
+ KSharedConfig::Ptr config = KSharedConfig::openConfig();
+
+ Q_ASSERT_X(config, "KAuthorizedPrivate()", "There has to be an existing KSharedConfig::openConfig() pointer");
+ if (!config) {
+ blockEverything = true;
+ return;
+ }
+ actionRestrictions = config->hasGroup(QStringLiteral("KDE Action Restrictions")) && !kde_kiosk_exception;
+ }
+
+ ~KAuthorizedPrivate()
+ {
+ }
+
+ bool actionRestrictions : 1;
+ bool blockEverything : 1;
+ QList<URLActionRule> urlActionRestrictions;
+ QRecursiveMutex mutex;
+};
+
+Q_GLOBAL_STATIC(KAuthorizedPrivate, authPrivate)
+#define KAUTHORIZED_D KAuthorizedPrivate *d = authPrivate()
+
+KAuthorized::KAuthorized()
+ : QObject(nullptr)
+{
+}
+
+bool KAuthorized::authorize(const QString &genericAction)
+{
+ KAUTHORIZED_D;
+ if (d->blockEverything) {
+ return false;
+ }
+
+ if (!d->actionRestrictions) {
+ return true;
+ }
+
+ KConfigGroup cg(KSharedConfig::openConfig(), QStringLiteral("KDE Action Restrictions"));
+ return cg.readEntry(genericAction, true);
+}
+
+bool KAuthorized::authorize(KAuthorized::GenericRestriction action)
+{
+ const QMetaEnum metaEnum = QMetaEnum::fromType<KAuthorized::GenericRestriction>();
+
+ if (metaEnum.isValid() && action != 0) {
+ return KAuthorized::authorize(QString::fromLatin1(metaEnum.valueToKey(action)).toLower());
+ }
+ qCWarning(KCONFIG_CORE_LOG) << "Invalid GenericRestriction requested" << action;
+ return false;
+}
+
+bool KAuthorized::authorizeAction(const QString &action)
+{
+ KAUTHORIZED_D;
+ if (d->blockEverything) {
+ return false;
+ }
+ if (!d->actionRestrictions || action.isEmpty()) {
+ return true;
+ }
+
+ return authorize(QLatin1String("action/") + action);
+}
+
+bool KAuthorized::authorizeAction(KAuthorized::GenericAction action)
+{
+ const QMetaEnum metaEnum = QMetaEnum::fromType<KAuthorized::GenericAction>();
+ if (metaEnum.isValid() && action != 0) {
+ return KAuthorized::authorizeAction(QString::fromLatin1(metaEnum.valueToKey(action)).toLower());
+ }
+ qCWarning(KCONFIG_CORE_LOG) << "Invalid GenericAction requested" << action;
+ return false;
+}
+
+bool KAuthorized::authorizeControlModule(const QString &menuId)
+{
+ if (menuId.isEmpty() || kde_kiosk_exception) {
+ return true;
+ }
+ KConfigGroup cg(KSharedConfig::openConfig(), QStringLiteral("KDE Control Module Restrictions"));
+ return cg.readEntry(menuId, true);
+}
+
+// Exported for unittests (e.g. in KIO, we're missing tests for this in kconfig)
+KCONFIGCORE_EXPORT void loadUrlActionRestrictions(const KConfigGroup &cg)
+{
+ KAUTHORIZED_D;
+ const QString Any;
+
+ d->urlActionRestrictions.clear();
+ d->urlActionRestrictions.append(URLActionRule("open", Any, Any, Any, Any, Any, Any, true));
+ d->urlActionRestrictions.append(URLActionRule("list", Any, Any, Any, Any, Any, Any, true));
+ // TEST:
+ // d->urlActionRestrictions.append(
+ // URLActionRule("list", Any, Any, Any, Any, Any, Any, false));
+ // d->urlActionRestrictions.append(
+ // URLActionRule("list", Any, Any, Any, "file", Any, QDir::homePath(), true));
+ d->urlActionRestrictions.append(URLActionRule("link", Any, Any, Any, QStringLiteral(":internet"), Any, Any, true));
+ d->urlActionRestrictions.append(URLActionRule("redirect", Any, Any, Any, QStringLiteral(":internet"), Any, Any, true));
+
+ // We allow redirections to file: but not from internet protocols, redirecting to file:
+ // is very popular among KIO workers and we don't want to break them
+ d->urlActionRestrictions.append(URLActionRule("redirect", Any, Any, Any, QStringLiteral("file"), Any, Any, true));
+ d->urlActionRestrictions.append(URLActionRule("redirect", QStringLiteral(":internet"), Any, Any, QStringLiteral("file"), Any, Any, false));
+
+ // local protocols may redirect everywhere
+ d->urlActionRestrictions.append(URLActionRule("redirect", QStringLiteral(":local"), Any, Any, Any, Any, Any, true));
+
+ // Anyone may redirect to about:
+ d->urlActionRestrictions.append(URLActionRule("redirect", Any, Any, Any, QStringLiteral("about"), Any, Any, true));
+
+ // Anyone may redirect to mailto:
+ d->urlActionRestrictions.append(URLActionRule("redirect", Any, Any, Any, QStringLiteral("mailto"), Any, Any, true));
+
+ // Anyone may redirect to itself, cq. within it's own group
+ d->urlActionRestrictions.append(URLActionRule("redirect", Any, Any, Any, QStringLiteral("="), Any, Any, true));
+
+ d->urlActionRestrictions.append(URLActionRule("redirect", QStringLiteral("about"), Any, Any, Any, Any, Any, true));
+
+ int count = cg.readEntry("rule_count", 0);
+ QString keyFormat = QStringLiteral("rule_%1");
+ for (int i = 1; i <= count; i++) {
+ QString key = keyFormat.arg(i);
+ const QStringList rule = cg.readEntry(key, QStringList());
+ if (rule.count() != 8) {
+ continue;
+ }
+ const QByteArray action = rule[0].toLatin1();
+ const QString refProt = rule[1];
+ const QString refHost = rule[2];
+ QString refPath = rule[3];
+ const QString urlProt = rule[4];
+ const QString urlHost = rule[5];
+ QString urlPath = rule[6];
+ const bool bEnabled = (rule[7].compare(QLatin1String("true"), Qt::CaseInsensitive) == 0);
+
+ if (refPath.startsWith(QLatin1String("$HOME"))) {
+ refPath.replace(0, 5, QDir::homePath());
+ } else if (refPath.startsWith(QLatin1Char('~'))) {
+ refPath.replace(0, 1, QDir::homePath());
+ }
+ if (urlPath.startsWith(QLatin1String("$HOME"))) {
+ urlPath.replace(0, 5, QDir::homePath());
+ } else if (urlPath.startsWith(QLatin1Char('~'))) {
+ urlPath.replace(0, 1, QDir::homePath());
+ }
+
+ if (refPath.startsWith(QLatin1String("$TMP"))) {
+ refPath.replace(0, 4, QDir::tempPath());
+ }
+ if (urlPath.startsWith(QLatin1String("$TMP"))) {
+ urlPath.replace(0, 4, QDir::tempPath());
+ }
+
+ d->urlActionRestrictions.append(URLActionRule(action, refProt, refHost, refPath, urlProt, urlHost, urlPath, bEnabled));
+ }
+}
+
+namespace KAuthorizedInternal
+{
+/**
+ * Helper for KAuthorized::allowUrlAction in KIO
+ * @private
+ */
+KCONFIGCORE_EXPORT void allowUrlAction(const QString &action, const QUrl &_baseURL, const QUrl &_destURL)
+{
+ KAUTHORIZED_D;
+ QMutexLocker locker((&d->mutex));
+
+ const QString basePath = _baseURL.adjusted(QUrl::StripTrailingSlash).path();
+ const QString destPath = _destURL.adjusted(QUrl::StripTrailingSlash).path();
+
+ d->urlActionRestrictions.append(
+ URLActionRule(action.toLatin1(), _baseURL.scheme(), _baseURL.host(), basePath, _destURL.scheme(), _destURL.host(), destPath, true));
+}
+
+/**
+ * Helper for KAuthorized::authorizeUrlAction in KIO
+ * @private
+ */
+KCONFIGCORE_EXPORT bool
+authorizeUrlAction(const QString &action, const QUrl &_baseURL, const QUrl &_destURL, const QString &baseClass, const QString &destClass)
+{
+ KAUTHORIZED_D;
+ QMutexLocker locker(&(d->mutex));
+ if (d->blockEverything) {
+ return false;
+ }
+
+ if (_destURL.isEmpty()) {
+ return true;
+ }
+
+ bool result = false;
+ if (d->urlActionRestrictions.isEmpty()) {
+ KConfigGroup cg(KSharedConfig::openConfig(), QStringLiteral("KDE URL Restrictions"));
+ loadUrlActionRestrictions(cg);
+ }
+
+ QUrl baseURL(_baseURL);
+ baseURL.setPath(QDir::cleanPath(baseURL.path()));
+
+ QUrl destURL(_destURL);
+ destURL.setPath(QDir::cleanPath(destURL.path()));
+
+ for (const URLActionRule &rule : std::as_const(d->urlActionRestrictions)) {
+ if ((result != rule.permission) && // No need to check if it doesn't make a difference
+ (action == QLatin1String(rule.action.constData())) && rule.baseMatch(baseURL, baseClass)
+ && rule.destMatch(destURL, destClass, baseURL, baseClass)) {
+ result = rule.permission;
+ }
+ }
+ return result;
+}
+} // namespace
+
+#include "moc_kauthorized.cpp"
--- /dev/null
+/* This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 1997 Matthias Kalle Dalheimer <kalle@kde.org>
+ SPDX-FileCopyrightText: 1998, 1999 Waldo Bastian <bastian@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KAUTHORIZED_H
+#define KAUTHORIZED_H
+
+#include <kconfigcore_export.h>
+
+#include <QMetaEnum>
+#include <QObject>
+#include <QStringList>
+#include <QVariant>
+
+class QUrl;
+class QString;
+class QQmlEngine;
+class QJSEngine;
+
+/**
+ * The functions in this namespace provide the core of the Kiosk action
+ * restriction system; the KIO and KXMLGui frameworks build on this.
+ *
+ * The relevant settings are read from the application's KSharedConfig
+ * instance, so actions can be disabled on a per-application or global
+ * basis (by using the kdeglobals file).
+ */
+class KCONFIGCORE_EXPORT KAuthorized : public QObject
+{
+ Q_OBJECT
+public:
+ /**
+ * The enum values lower cased represent the action that is authorized
+ * For example the SHELL_ACCESS value is converted to the "shell_access" string.
+ *
+ * @since 5.88
+ */
+ enum GenericRestriction {
+ SHELL_ACCESS = 1, // if the user is authorized to open a shell or execute shell commands
+ GHNS, /// if the collaborative data sharing framework KNewStuff is authorized
+ // GUI behavior
+ LINEEDIT_REVEAL_PASSWORD, /// if typed characters in password fields can be made visible
+ LINEEDIT_TEXT_COMPLETION, /// if line edits should be allowed to display completions
+ MOVABLE_TOOLBARS, /// if toolbars of apps should be movable
+ RUN_DESKTOP_FILES, /// if .desktop files should be run as executables when clicked
+ };
+ Q_ENUM(GenericRestriction)
+
+ /**
+ *
+ * @since 5.88
+ */
+ enum GenericAction {
+ OPEN_WITH = 1, /// if the open-with menu should be shown for files etc.
+ EDITFILETYPE, /// if mime-type accociations are allowed to be configured
+
+ OPTIONS_SHOW_TOOLBAR, /// if the toolbar should be displayed in apps
+ SWITCH_APPLICATION_LANGUAGE, /// if an action to switch the app language should be shown
+ BOOKMARKS, /// saving bookmarks is allowed
+ };
+ Q_ENUM(GenericAction)
+
+ /**
+ * Returns whether the user is permitted to perform a certain action.
+ *
+ * All settings are read from the "[KDE Action Restrictions]" group.
+ * For example, if kdeglobals contains
+ * @verbatim
+ [KDE Action Restrictions][$i]
+ shell_access=false
+ @endverbatim
+ * then
+ * @code
+ * KAuthorized::authorize("shell_access");
+ * @endcode
+ * will return @c false.
+ *
+ * This method is intended for actions that do not necessarily have a
+ * one-to-one correspondence with a menu or toolbar item (ie: a QAction
+ * in a KXMLGui application). "shell_access" is an example of such a
+ * "generic" action.
+ *
+ * The convention for actions like "File->New" is to prepend the action
+ * name with "action/", for example "action/file_new". This is what
+ * authorizeAction() does.
+ *
+ * @param action The name of the action.
+ * @return @c true if the action is authorized, @c false
+ * otherwise.
+ *
+ * @see authorizeAction()
+ */
+ Q_INVOKABLE static bool authorize(const QString &action);
+
+ /**
+ * Returns whether the user is permitted to perform a common action.
+ * The enum values lower cased represent the action that is
+ * passed in to @p authorize(QString)
+ *
+ * @overload
+ * @since 5.88
+ */
+ Q_INVOKABLE static bool authorize(GenericRestriction action);
+
+ /**
+ * Returns whether the user is permitted to perform a certain action.
+ *
+ * This behaves like authorize(), except that "action/" is prepended to
+ * @p action. So if kdeglobals contains
+ * @verbatim
+ [KDE Action Restrictions][$i]
+ action/file_new=false
+ @endverbatim
+ * then
+ * @code
+ * KAuthorized::authorizeAction("file_new");
+ * @endcode
+ * will return @c false.
+ *
+ * KXMLGui-based applications should not normally need to call this
+ * function, as KActionCollection will do it automatically.
+ *
+ * @param action The name of a QAction action.
+ * @return @c true if the QAction is authorized, @c false
+ * otherwise.
+ * @since 5.24
+ *
+ * @see authorize()
+ */
+ Q_INVOKABLE static bool authorizeAction(const QString &action);
+
+ /**
+ * Overload to authorize common actions.
+ *
+ * @overload
+ * @since 5.88
+ */
+ Q_INVOKABLE static bool authorizeAction(GenericAction action);
+
+ /**
+ * Returns whether the user is permitted to use a certain control module.
+ *
+ * All settings are read from the "[KDE Control Module Restrictions]"
+ * group. For example, if kdeglobals contains
+ * @verbatim
+ [KDE Control Module Restrictions][$i]
+ kcm_desktop-settings=false
+ @endverbatim
+ * then
+ * @code
+ * KAuthorized::authorizeControlModule("kcm_desktop-settings");
+ * @endcode
+ * will return @c false.
+ *
+ * @param pluginId The desktop menu ID for the control module.
+ * @return @c true if access to the module is authorized, @c false otherwise.
+ *
+ */
+ Q_INVOKABLE static bool authorizeControlModule(const QString &pluginId);
+
+ static KAuthorized *create(QQmlEngine *, QJSEngine *)
+ {
+ return new KAuthorized;
+ }
+
+private:
+ friend class KConfigQmlPlugin;
+ explicit KAuthorized();
+};
+
+#endif
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2006, 2007 Thomas Braxton <kde.braxton@gmail.com>
+ SPDX-FileCopyrightText: 1999 Preston Brown <pbrown@kde.org>
+ SPDX-FileCopyrightText: 1997-1999 Matthias Kalle Dalheimer <kalle@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfig.h"
+#include "kconfig_p.h"
+
+#include "config-kconfig.h"
+#include "dbussanitizer_p.h"
+#include "kconfig_core_log_settings.h"
+
+#include <fcntl.h>
+
+#include "kconfiggroup.h"
+
+#include <QBasicMutex>
+#include <QByteArray>
+#include <QCache>
+#include <QCoreApplication>
+#include <QDir>
+#include <QFile>
+#include <QLocale>
+#include <QMutexLocker>
+#include <QProcess>
+#include <QSet>
+#include <QThreadStorage>
+#include <QTimeZone>
+
+#include <algorithm>
+#include <iterator>
+#include <set>
+
+#if KCONFIG_USE_DBUS
+#include <QDBusConnection>
+#include <QDBusMessage>
+#include <QDBusMetaType>
+#endif
+
+bool KConfigPrivate::mappingsRegistered = false;
+
+// For caching purposes
+static bool s_wasTestModeEnabled = false;
+
+Q_GLOBAL_STATIC(QStringList, s_globalFiles) // For caching purposes.
+static QBasicMutex s_globalFilesMutex;
+Q_GLOBAL_STATIC_WITH_ARGS(QString, sGlobalFileName, (QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + QLatin1String("/kdeglobals")))
+
+using ParseCacheKey = std::pair<QStringList, QString>;
+struct ParseCacheValue {
+ KEntryMap entries;
+ QDateTime parseTime;
+};
+using ParseCache = QThreadStorage<QCache<ParseCacheKey, ParseCacheValue>>;
+Q_GLOBAL_STATIC(ParseCache, sGlobalParse)
+
+#ifndef Q_OS_WIN
+static const Qt::CaseSensitivity sPathCaseSensitivity = Qt::CaseSensitive;
+#else
+static const Qt::CaseSensitivity sPathCaseSensitivity = Qt::CaseInsensitive;
+#endif
+
+KConfigPrivate::KConfigPrivate(KConfig::OpenFlags flags, QStandardPaths::StandardLocation resourceType)
+ : openFlags(flags)
+ , resourceType(resourceType)
+ , mBackend(new KConfigIniBackend)
+ , bDirty(false)
+ , bReadDefaults(false)
+ , bFileImmutable(false)
+ , bForceGlobal(false)
+ , bSuppressGlobal(false)
+ , configState(KConfigBase::NoAccess)
+{
+ const bool isTestMode = QStandardPaths::isTestModeEnabled();
+ // If sGlobalFileName was initialised and testMode has been toggled,
+ // sGlobalFileName may need to be updated to point to the correct kdeglobals file
+ if (sGlobalFileName.exists() && s_wasTestModeEnabled != isTestMode) {
+ s_wasTestModeEnabled = isTestMode;
+ *sGlobalFileName = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + QLatin1String("/kdeglobals");
+ }
+
+ static QBasicAtomicInt use_etc_kderc = Q_BASIC_ATOMIC_INITIALIZER(-1);
+ if (use_etc_kderc.loadRelaxed() < 0) {
+ use_etc_kderc.storeRelaxed(!qEnvironmentVariableIsSet("KDE_SKIP_KDERC")); // for unit tests
+ }
+ if (use_etc_kderc.loadRelaxed()) {
+ etc_kderc =
+#ifdef Q_OS_WIN
+ QFile::decodeName(qgetenv("WINDIR") + "/kde5rc");
+#else
+ QStringLiteral("/etc/kde5rc");
+#endif
+ if (!QFileInfo(etc_kderc).isReadable()) {
+ use_etc_kderc.storeRelaxed(false);
+ etc_kderc.clear();
+ }
+ }
+
+ // if (!mappingsRegistered) {
+ // KEntryMap tmp;
+ // if (!etc_kderc.isEmpty()) {
+ // QExplicitlySharedDataPointer<KConfigBackend> backend = KConfigBackend::create(etc_kderc, QLatin1String("INI"));
+ // backend->parseConfig( "en_US", tmp, KConfigBackend::ParseDefaults);
+ // }
+ // const QString kde5rc(QDir::home().filePath(".kde5rc"));
+ // if (KStandardDirs::checkAccess(kde5rc, R_OK)) {
+ // QExplicitlySharedDataPointer<KConfigBackend> backend = KConfigBackend::create(kde5rc, QLatin1String("INI"));
+ // backend->parseConfig( "en_US", tmp, KConfigBackend::ParseOptions());
+ // }
+ // KConfigBackend::registerMappings(tmp);
+ // mappingsRegistered = true;
+ // }
+
+ setLocale(QLocale().name());
+}
+
+bool KConfigPrivate::lockLocal()
+{
+ return mBackend->lock();
+}
+
+static bool isGroupOrSubGroupMatch(KEntryMapConstIterator entryMapIt, const QString &group)
+{
+ const QString &entryGroup = entryMapIt->first.mGroup;
+ Q_ASSERT_X(entryGroup.startsWith(group), Q_FUNC_INFO, "Precondition");
+ return entryGroup.size() == group.size() || entryGroup[group.size()] == QLatin1Char('\x1d');
+}
+
+void KConfigPrivate::copyGroup(const QString &source, const QString &destination, KConfigGroup *otherGroup, KConfigBase::WriteConfigFlags flags) const
+{
+ KEntryMap &otherMap = otherGroup->config()->d_ptr->entryMap;
+ const bool sameName = (destination == source);
+
+ // we keep this bool outside the for loop so that if
+ // the group is empty, we don't end up marking the other config
+ // as dirty erroneously
+ bool dirtied = false;
+
+ entryMap.forEachEntryWhoseGroupStartsWith(source, [&source, &destination, flags, &otherMap, sameName, &dirtied](KEntryMapConstIterator entryMapIt) {
+ // don't copy groups that start with the same prefix, but are not sub-groups
+ if (!isGroupOrSubGroupMatch(entryMapIt, source)) {
+ return;
+ }
+
+ KEntryKey newKey = entryMapIt->first;
+
+ if (flags & KConfigBase::Localized) {
+ newKey.bLocal = true;
+ }
+
+ if (!sameName) {
+ newKey.mGroup.replace(0, source.size(), destination);
+ }
+
+ KEntry entry = entryMapIt->second;
+ dirtied = entry.bDirty = flags & KConfigBase::Persistent;
+
+ if (flags & KConfigBase::Global) {
+ entry.bGlobal = true;
+ }
+
+ if (flags & KConfigBase::Notify) {
+ entry.bNotify = true;
+ }
+
+ otherMap[newKey] = entry;
+ });
+
+ if (dirtied) {
+ otherGroup->config()->d_ptr->bDirty = true;
+ }
+}
+
+QString KConfigPrivate::expandString(const QString &value)
+{
+ QString aValue = value;
+
+ // check for environment variables and make necessary translations
+ int nDollarPos = aValue.indexOf(QLatin1Char('$'));
+ while (nDollarPos != -1 && nDollarPos + 1 < aValue.length()) {
+ // there is at least one $
+ if (aValue.at(nDollarPos + 1) != QLatin1Char('$')) {
+ int nEndPos = nDollarPos + 1;
+ // the next character is not $
+ QStringView aVarName;
+ if (aValue.at(nEndPos) == QLatin1Char('{')) {
+ while ((nEndPos <= aValue.length()) && (aValue[nEndPos] != QLatin1Char('}'))) {
+ ++nEndPos;
+ }
+ ++nEndPos;
+ aVarName = QStringView(aValue).mid(nDollarPos + 2, nEndPos - nDollarPos - 3);
+ } else {
+ while (nEndPos < aValue.length() && (aValue[nEndPos].isNumber() || aValue[nEndPos].isLetter() || aValue[nEndPos] == QLatin1Char('_'))) {
+ ++nEndPos;
+ }
+ aVarName = QStringView(aValue).mid(nDollarPos + 1, nEndPos - nDollarPos - 1);
+ }
+ QString env;
+ if (!aVarName.isEmpty()) {
+#ifdef Q_OS_WIN
+ if (aVarName == QLatin1String("HOME")) {
+ env = QDir::homePath();
+ } else
+#endif
+ {
+ QByteArray pEnv = qgetenv(aVarName.toLatin1().constData());
+ if (!pEnv.isEmpty()) {
+ env = QString::fromLocal8Bit(pEnv.constData());
+ } else {
+ if (aVarName == QLatin1String("QT_DATA_HOME")) {
+ env = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation);
+ } else if (aVarName == QLatin1String("QT_CONFIG_HOME")) {
+ env = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation);
+ } else if (aVarName == QLatin1String("QT_CACHE_HOME")) {
+ env = QStandardPaths::writableLocation(QStandardPaths::GenericCacheLocation);
+ }
+ }
+ }
+ aValue.replace(nDollarPos, nEndPos - nDollarPos, env);
+ nDollarPos += env.length();
+ } else {
+ aValue.remove(nDollarPos, nEndPos - nDollarPos);
+ }
+ } else {
+ // remove one of the dollar signs
+ aValue.remove(nDollarPos, 1);
+ ++nDollarPos;
+ }
+ nDollarPos = aValue.indexOf(QLatin1Char('$'), nDollarPos);
+ }
+
+ return aValue;
+}
+
+KConfig::KConfig(const QString &file, OpenFlags mode, QStandardPaths::StandardLocation resourceType)
+ : d_ptr(new KConfigPrivate(mode, resourceType))
+{
+ d_ptr->changeFileName(file); // set the local file name
+
+ // read initial information off disk
+ reparseConfiguration();
+}
+
+#if KCONFIGCORE_BUILD_DEPRECATED_SINCE(6, 3)
+KConfig::KConfig(const QString &file, const QString &backend, QStandardPaths::StandardLocation resourceType)
+ : d_ptr(new KConfigPrivate(SimpleConfig, resourceType))
+{
+ Q_UNUSED(backend);
+ d_ptr->changeFileName(file); // set the local file name
+
+ // read initial information off disk
+ reparseConfiguration();
+}
+#endif
+
+KConfig::KConfig(KConfigPrivate &d)
+ : d_ptr(&d)
+{
+}
+
+KConfig::~KConfig()
+{
+ Q_D(KConfig);
+ if (d->bDirty && d->mBackend->ref.loadRelaxed() == 1) {
+ sync();
+ }
+ delete d;
+}
+
+static bool isNonDeletedKey(KEntryMapConstIterator entryMapIt)
+{
+ return !entryMapIt->first.mKey.isNull() && !entryMapIt->second.bDeleted;
+}
+// is a key without default values and not deleted
+static bool isSetKey(KEntryMapConstIterator entryMapIt)
+{
+ return !entryMapIt->first.bDefault && !entryMapIt->second.bDeleted;
+}
+
+static int findFirstGroupEndPos(const QString &groupFullName, int from = 0)
+{
+ const auto index = groupFullName.indexOf(QLatin1Char('\x1d'), from);
+ return index == -1 ? groupFullName.size() : index;
+}
+
+static QStringList stringListFromStringViewCollection(const QSet<QStringView> &source)
+{
+ QStringList list;
+ list.reserve(source.size());
+ std::transform(source.cbegin(), source.cend(), std::back_inserter(list), [](QStringView view) {
+ return view.toString();
+ });
+ return list;
+}
+
+QStringList KConfig::groupList() const
+{
+ Q_D(const KConfig);
+ QSet<QStringView> groups;
+
+ for (auto entryMapIt = d->entryMap.cbegin(); entryMapIt != d->entryMap.cend(); ++entryMapIt) {
+ const QString &group = entryMapIt->first.mGroup;
+ if (isNonDeletedKey(entryMapIt) && !group.isEmpty() && group != QStringLiteral("<default>") && group != QStringLiteral("$Version")) {
+ groups.insert(QStringView(group).left(findFirstGroupEndPos(group)));
+ }
+ }
+
+ return stringListFromStringViewCollection(groups);
+}
+
+QStringList KConfigPrivate::groupList(const QString &groupName) const
+{
+ const QString theGroup = groupName + QLatin1Char('\x1d');
+ QSet<QStringView> groups;
+
+ entryMap.forEachEntryWhoseGroupStartsWith(theGroup, [&theGroup, &groups](KEntryMapConstIterator entryMapIt) {
+ if (isNonDeletedKey(entryMapIt)) {
+ const QString &entryGroup = entryMapIt->first.mGroup;
+ const auto subgroupStartPos = theGroup.size();
+ const auto subgroupEndPos = findFirstGroupEndPos(entryGroup, subgroupStartPos);
+ groups.insert(QStringView(entryGroup).mid(subgroupStartPos, subgroupEndPos - subgroupStartPos));
+ }
+ });
+
+ return stringListFromStringViewCollection(groups);
+}
+
+/// Returns @p parentGroup itself, all its subgroups, subsubgroups, and so on, including deleted groups.
+QSet<QString> KConfigPrivate::allSubGroups(const QString &parentGroup) const
+{
+ QSet<QString> groups;
+
+ entryMap.forEachEntryWhoseGroupStartsWith(parentGroup, [&parentGroup, &groups](KEntryMapConstIterator entryMapIt) {
+ const KEntryKey &key = entryMapIt->first;
+ if (key.mKey.isNull() && isGroupOrSubGroupMatch(entryMapIt, parentGroup)) {
+ groups << key.mGroup;
+ }
+ });
+
+ return groups;
+}
+
+bool KConfigPrivate::hasNonDeletedEntries(const QString &group) const
+{
+ return entryMap.anyEntryWhoseGroupStartsWith(group, [&group](KEntryMapConstIterator entryMapIt) {
+ return isGroupOrSubGroupMatch(entryMapIt, group) && isNonDeletedKey(entryMapIt);
+ });
+}
+
+QList<QByteArray> KConfigPrivate::keyListImpl(const QString &theGroup) const
+{
+ std::set<QByteArray> tmp; // unique set, sorted for unittests
+
+ entryMap.forEachEntryOfGroup(theGroup, [&tmp](KEntryMapConstIterator it) {
+ if (isNonDeletedKey(it)) {
+ tmp.insert(it->first.mKey);
+ }
+ });
+
+ return QList<QByteArray>(tmp.begin(), tmp.end());
+}
+
+QStringList KConfigPrivate::usedKeyList(const QString &theGroup) const
+{
+ std::set<QString> tmp; // unique set, sorting as side-effect
+
+ entryMap.forEachEntryOfGroup(theGroup, [&tmp](KEntryMapConstIterator it) {
+ // leave the default values and deleted entries out, same as KConfig::entryMap()
+ if (isSetKey(it)) {
+ const QString key = QString::fromUtf8(it->first.mKey);
+ tmp.insert(key);
+ }
+ });
+
+ return QStringList(tmp.begin(), tmp.end());
+}
+
+QMap<QString, QString> KConfig::entryMap(const QString &aGroup) const
+{
+ Q_D(const KConfig);
+ QMap<QString, QString> theMap;
+ const QString theGroup = aGroup.isEmpty() ? QStringLiteral("<default>") : aGroup;
+
+ d->entryMap.forEachEntryOfGroup(theGroup, [&theMap](KEntryMapConstIterator it) {
+ // leave the default values and deleted entries out
+ if (isSetKey(it)) {
+ const QString key = QString::fromUtf8(it->first.mKey.constData());
+ // the localized entry should come first, so don't overwrite it
+ // with the non-localized entry
+ if (!theMap.contains(key)) {
+ if (it->second.bExpand) {
+ theMap.insert(key, KConfigPrivate::expandString(QString::fromUtf8(it->second.mValue.constData())));
+ } else {
+ theMap.insert(key, QString::fromUtf8(it->second.mValue.constData()));
+ }
+ }
+ }
+ });
+
+ return theMap;
+}
+
+bool KConfig::sync()
+{
+ Q_D(KConfig);
+
+ if (isImmutable() || name().isEmpty()) {
+ // can't write to an immutable or anonymous file.
+ return false;
+ }
+
+ QHash<QString, QByteArrayList> notifyGroupsLocal;
+ QHash<QString, QByteArrayList> notifyGroupsGlobal;
+
+ if (d->bDirty) {
+ const QByteArray utf8Locale(locale().toUtf8());
+
+ // Create the containing dir, maybe it wasn't there
+ d->mBackend->createEnclosing();
+
+ // lock the local file
+ if (d->configState == ReadWrite && !d->lockLocal()) {
+ qCWarning(KCONFIG_CORE_LOG) << "couldn't lock local file";
+ return false;
+ }
+
+ // Rewrite global/local config only if there is a dirty entry in it.
+ bool writeGlobals = false;
+ bool writeLocals = false;
+
+ for (const auto &[key, e] : d->entryMap) {
+ if (e.bDirty) {
+ if (e.bGlobal) {
+ writeGlobals = true;
+ if (e.bNotify) {
+ notifyGroupsGlobal[key.mGroup] << key.mKey;
+ }
+ } else {
+ writeLocals = true;
+ if (e.bNotify) {
+ notifyGroupsLocal[key.mGroup] << key.mKey;
+ }
+ }
+ }
+ }
+
+ d->bDirty = false; // will revert to true if a config write fails
+
+ if (d->wantGlobals() && writeGlobals) {
+ QExplicitlySharedDataPointer<KConfigIniBackend> tmp(new KConfigIniBackend());
+ tmp->setFilePath(*sGlobalFileName);
+ if (d->configState == ReadWrite && !tmp->lock()) {
+ qCWarning(KCONFIG_CORE_LOG) << "couldn't lock global file";
+
+ // unlock the local config if we're returning early
+ if (d->mBackend->isLocked()) {
+ d->mBackend->unlock();
+ }
+
+ d->bDirty = true;
+ return false;
+ }
+ if (!tmp->writeConfig(utf8Locale, d->entryMap, KConfigIniBackend::WriteGlobal)) {
+ d->bDirty = true;
+ }
+ if (tmp->isLocked()) {
+ tmp->unlock();
+ }
+ }
+
+ if (writeLocals) {
+ if (!d->mBackend->writeConfig(utf8Locale, d->entryMap, KConfigIniBackend::WriteOptions())) {
+ d->bDirty = true;
+ }
+ }
+ if (d->mBackend->isLocked()) {
+ d->mBackend->unlock();
+ }
+ }
+
+ // Notifying absolute paths is not supported and also makes no sense.
+ const bool isAbsolutePath = name().at(0) == QLatin1Char('/');
+ if (!notifyGroupsLocal.isEmpty() && !isAbsolutePath) {
+ d->notifyClients(notifyGroupsLocal, kconfigDBusSanitizePath(QLatin1Char('/') + name()));
+ }
+ if (!notifyGroupsGlobal.isEmpty()) {
+ d->notifyClients(notifyGroupsGlobal, QStringLiteral("/kdeglobals"));
+ }
+
+ return !d->bDirty;
+}
+
+void KConfigPrivate::notifyClients(const QHash<QString, QByteArrayList> &changes, const QString &path)
+{
+#if KCONFIG_USE_DBUS
+ qDBusRegisterMetaType<QByteArrayList>();
+
+ qDBusRegisterMetaType<QHash<QString, QByteArrayList>>();
+
+ QDBusMessage message = QDBusMessage::createSignal(path, QStringLiteral("org.kde.kconfig.notify"), QStringLiteral("ConfigChanged"));
+ message.setArguments({QVariant::fromValue(changes)});
+ QDBusConnection::sessionBus().send(message);
+#else
+ Q_UNUSED(changes)
+ Q_UNUSED(path)
+#endif
+}
+
+void KConfig::markAsClean()
+{
+ Q_D(KConfig);
+ d->bDirty = false;
+
+ // clear any dirty flags that entries might have set
+ for (auto &[_, entry] : d->entryMap) {
+ entry.bDirty = false;
+ entry.bNotify = false;
+ }
+}
+
+bool KConfig::isDirty() const
+{
+ Q_D(const KConfig);
+ return d->bDirty;
+}
+
+void KConfig::checkUpdate(const QString &id, const QString &updateFile)
+{
+ const KConfigGroup cg(this, QStringLiteral("$Version"));
+ const QString cfg_id = updateFile + QLatin1Char(':') + id;
+ const QStringList ids = cg.readEntry("update_info", QStringList());
+ if (!ids.contains(cfg_id)) {
+ QProcess::execute(QStringLiteral(KCONF_UPDATE_INSTALL_LOCATION), QStringList{QStringLiteral("--check"), updateFile});
+ reparseConfiguration();
+ }
+}
+
+KConfig *KConfig::copyTo(const QString &file, KConfig *config) const
+{
+ Q_D(const KConfig);
+ if (!config) {
+ config = new KConfig(QString(), SimpleConfig, d->resourceType);
+ }
+ config->d_func()->changeFileName(file);
+ config->d_func()->entryMap = d->entryMap;
+ config->d_func()->bFileImmutable = false;
+
+ for (auto &[_, entry] : config->d_func()->entryMap) {
+ entry.bDirty = true;
+ }
+ config->d_ptr->bDirty = true;
+
+ return config;
+}
+
+QString KConfig::name() const
+{
+ Q_D(const KConfig);
+ return d->fileName;
+}
+
+KConfig::OpenFlags KConfig::openFlags() const
+{
+ Q_D(const KConfig);
+ return d->openFlags;
+}
+
+struct KConfigStaticData {
+ QString globalMainConfigName;
+ // Keep a copy so we can use it in global dtors, after qApp is gone
+ QStringList appArgs;
+};
+Q_GLOBAL_STATIC(KConfigStaticData, globalData)
+static QBasicMutex s_globalDataMutex;
+
+void KConfig::setMainConfigName(const QString &str)
+{
+ QMutexLocker locker(&s_globalDataMutex);
+ globalData()->globalMainConfigName = str;
+}
+
+QString KConfig::mainConfigName()
+{
+ QMutexLocker locker(&s_globalDataMutex);
+ KConfigStaticData *data = globalData();
+ if (data->appArgs.isEmpty()) {
+ data->appArgs = QCoreApplication::arguments();
+ }
+
+ // --config on the command line overrides everything else
+ const QStringList args = data->appArgs;
+ for (int i = 1; i < args.count(); ++i) {
+ if (args.at(i) == QLatin1String("--config") && i < args.count() - 1) {
+ return args.at(i + 1);
+ }
+ }
+ const QString globalName = data->globalMainConfigName;
+ if (!globalName.isEmpty()) {
+ return globalName;
+ }
+
+ QString appName = QCoreApplication::applicationName();
+ return appName + QLatin1String("rc");
+}
+
+void KConfigPrivate::changeFileName(const QString &name)
+{
+ fileName = name;
+
+ QString file;
+ if (name.isEmpty()) {
+ if (wantDefaults()) { // accessing default app-specific config "appnamerc"
+ fileName = KConfig::mainConfigName();
+ file = QStandardPaths::writableLocation(resourceType) + QLatin1Char('/') + fileName;
+ } else if (wantGlobals()) { // accessing "kdeglobals" by specifying no filename and NoCascade - XXX used anywhere?
+ resourceType = QStandardPaths::GenericConfigLocation;
+ fileName = QStringLiteral("kdeglobals");
+ file = *sGlobalFileName;
+ } else {
+ // anonymous config
+ openFlags = KConfig::SimpleConfig;
+ return;
+ }
+ } else if (QDir::isAbsolutePath(fileName)) {
+ fileName = QFileInfo(fileName).canonicalFilePath();
+ if (fileName.isEmpty()) { // file doesn't exist (yet)
+ fileName = name;
+ }
+ file = fileName;
+ } else {
+ file = QStandardPaths::writableLocation(resourceType) + QLatin1Char('/') + fileName;
+ }
+
+ Q_ASSERT(!file.isEmpty());
+
+ bSuppressGlobal = (file.compare(*sGlobalFileName, sPathCaseSensitivity) == 0);
+
+ mBackend->setFilePath(file);
+
+ configState = mBackend->accessMode();
+}
+
+void KConfig::reparseConfiguration()
+{
+ Q_D(KConfig);
+ if (d->fileName.isEmpty()) {
+ return;
+ }
+
+ // Don't lose pending changes
+ if (!d->isReadOnly() && d->bDirty) {
+ sync();
+ }
+
+ d->entryMap.clear();
+
+ d->bFileImmutable = false;
+
+ {
+ QMutexLocker locker(&s_globalFilesMutex);
+ s_globalFiles()->clear();
+ }
+
+ // Parse all desired files from the least to the most specific.
+ if (d->wantGlobals()) {
+ d->parseGlobalFiles();
+ }
+
+ d->parseConfigFiles();
+}
+
+QStringList KConfigPrivate::getGlobalFiles() const
+{
+ QMutexLocker locker(&s_globalFilesMutex);
+ if (s_globalFiles()->isEmpty()) {
+ const QStringList paths1 = QStandardPaths::locateAll(QStandardPaths::GenericConfigLocation, QStringLiteral("kdeglobals"));
+ const QStringList paths2 = QStandardPaths::locateAll(QStandardPaths::GenericConfigLocation, QStringLiteral("system.kdeglobals"));
+
+ const bool useEtcKderc = !etc_kderc.isEmpty();
+ s_globalFiles()->reserve(paths1.size() + paths2.size() + (useEtcKderc ? 1 : 0));
+
+ for (const QString &dir1 : paths1) {
+ s_globalFiles()->push_front(dir1);
+ }
+ for (const QString &dir2 : paths2) {
+ s_globalFiles()->push_front(dir2);
+ }
+
+ if (useEtcKderc) {
+ s_globalFiles()->push_front(etc_kderc);
+ }
+ }
+
+ return *s_globalFiles();
+}
+
+void KConfigPrivate::parseGlobalFiles()
+{
+ const QStringList globalFiles = getGlobalFiles();
+ // qDebug() << "parsing global files" << globalFiles;
+
+ Q_ASSERT(entryMap.empty());
+ const ParseCacheKey key = {globalFiles, locale};
+ auto data = sGlobalParse->localData().object(key);
+ QDateTime newest;
+ for (const auto &file : globalFiles) {
+ const auto fileDate = QFileInfo(file).lastModified(QTimeZone::UTC);
+ if (fileDate > newest) {
+ newest = fileDate;
+ }
+ }
+ if (data) {
+ if (data->parseTime < newest) {
+ data = nullptr;
+ } else {
+ entryMap = data->entries;
+ return;
+ }
+ }
+
+ const QByteArray utf8Locale = locale.toUtf8();
+ for (const QString &file : globalFiles) {
+ KConfigIniBackend::ParseOptions parseOpts = KConfigIniBackend::ParseGlobal | KConfigIniBackend::ParseExpansions;
+
+ if (file.compare(*sGlobalFileName, sPathCaseSensitivity) != 0) {
+ parseOpts |= KConfigIniBackend::ParseDefaults;
+ }
+
+ QExplicitlySharedDataPointer<KConfigIniBackend> backend(new KConfigIniBackend);
+ backend->setFilePath(file);
+ if (backend->parseConfig(utf8Locale, entryMap, parseOpts) == KConfigIniBackend::ParseImmutable) {
+ break;
+ }
+ }
+ sGlobalParse->localData().insert(key, new ParseCacheValue({entryMap, newest}));
+}
+
+void KConfigPrivate::parseConfigFiles()
+{
+ // can only read the file if there is a backend and a file name
+ if (!fileName.isEmpty()) {
+ bFileImmutable = false;
+
+ QList<QString> files;
+ if (wantDefaults()) {
+ if (bSuppressGlobal) {
+ files = getGlobalFiles();
+ } else {
+ if (QDir::isAbsolutePath(fileName)) {
+ const QString canonicalFile = QFileInfo(fileName).canonicalFilePath();
+ if (!canonicalFile.isEmpty()) { // empty if it doesn't exist
+ files << canonicalFile;
+ }
+ } else {
+ const QStringList localFilesPath = QStandardPaths::locateAll(resourceType, fileName);
+ for (const QString &f : localFilesPath) {
+ files.prepend(QFileInfo(f).canonicalFilePath());
+ }
+
+ // allow fallback to config files bundled in resources
+ const QString resourceFile(QStringLiteral(":/kconfig/") + fileName);
+ if (QFile::exists(resourceFile)) {
+ files.prepend(resourceFile);
+ }
+ }
+ }
+ } else {
+ files << mBackend->filePath();
+ }
+ if (!isSimple()) {
+ files = QList<QString>(extraFiles.cbegin(), extraFiles.cend()) + files;
+ }
+
+ // qDebug() << "parsing local files" << files;
+
+ const QByteArray utf8Locale = locale.toUtf8();
+ for (const QString &file : std::as_const(files)) {
+ if (file.compare(mBackend->filePath(), sPathCaseSensitivity) == 0) {
+ switch (mBackend->parseConfig(utf8Locale, entryMap, KConfigIniBackend::ParseExpansions)) {
+ case KConfigIniBackend::ParseOk:
+ break;
+ case KConfigIniBackend::ParseImmutable:
+ bFileImmutable = true;
+ break;
+ case KConfigIniBackend::ParseOpenError:
+ configState = KConfigBase::NoAccess;
+ break;
+ }
+ } else {
+ QExplicitlySharedDataPointer<KConfigIniBackend> backend(new KConfigIniBackend);
+ backend->setFilePath(file);
+ constexpr auto parseOpts = KConfigIniBackend::ParseDefaults | KConfigIniBackend::ParseExpansions;
+ bFileImmutable = backend->parseConfig(utf8Locale, entryMap, parseOpts) == KConfigIniBackend::ParseImmutable;
+ }
+
+ if (bFileImmutable) {
+ break;
+ }
+ }
+ }
+}
+
+KConfig::AccessMode KConfig::accessMode() const
+{
+ Q_D(const KConfig);
+ return d->configState;
+}
+
+void KConfig::addConfigSources(const QStringList &files)
+{
+ Q_D(KConfig);
+ for (const QString &file : files) {
+ d->extraFiles.push(file);
+ }
+
+ if (!files.isEmpty()) {
+ reparseConfiguration();
+ }
+}
+
+QStringList KConfig::additionalConfigSources() const
+{
+ Q_D(const KConfig);
+ return d->extraFiles.toList();
+}
+
+QString KConfig::locale() const
+{
+ Q_D(const KConfig);
+ return d->locale;
+}
+
+bool KConfigPrivate::setLocale(const QString &aLocale)
+{
+ if (aLocale != locale) {
+ locale = aLocale;
+ return true;
+ }
+ return false;
+}
+
+bool KConfig::setLocale(const QString &locale)
+{
+ Q_D(KConfig);
+ if (d->setLocale(locale)) {
+ reparseConfiguration();
+ return true;
+ }
+ return false;
+}
+
+void KConfig::setReadDefaults(bool b)
+{
+ Q_D(KConfig);
+ d->bReadDefaults = b;
+}
+
+bool KConfig::readDefaults() const
+{
+ Q_D(const KConfig);
+ return d->bReadDefaults;
+}
+
+bool KConfig::isImmutable() const
+{
+ Q_D(const KConfig);
+ return d->bFileImmutable;
+}
+
+bool KConfig::isGroupImmutableImpl(const QString &aGroup) const
+{
+ Q_D(const KConfig);
+ return isImmutable() || d->entryMap.getEntryOption(aGroup, {}, {}, KEntryMap::EntryImmutable);
+}
+
+KConfigGroup KConfig::groupImpl(const QString &group)
+{
+ return KConfigGroup(this, group);
+}
+
+const KConfigGroup KConfig::groupImpl(const QString &group) const
+{
+ return KConfigGroup(this, group);
+}
+
+KEntryMap::EntryOptions convertToOptions(KConfig::WriteConfigFlags flags)
+{
+ KEntryMap::EntryOptions options = {};
+
+ if (flags & KConfig::Persistent) {
+ options |= KEntryMap::EntryDirty;
+ }
+ if (flags & KConfig::Global) {
+ options |= KEntryMap::EntryGlobal;
+ }
+ if (flags & KConfig::Localized) {
+ options |= KEntryMap::EntryLocalized;
+ }
+ if (flags.testFlag(KConfig::Notify)) {
+ options |= KEntryMap::EntryNotify;
+ }
+ return options;
+}
+
+void KConfig::deleteGroupImpl(const QString &aGroup, WriteConfigFlags flags)
+{
+ Q_D(KConfig);
+ KEntryMap::EntryOptions options = convertToOptions(flags) | KEntryMap::EntryDeleted;
+
+ const QSet<QString> groups = d->allSubGroups(aGroup);
+ for (const QString &group : groups) {
+ const QList<QByteArray> keys = d->keyListImpl(group);
+ for (const QByteArray &key : keys) {
+ if (d->canWriteEntry(group, key)) {
+ d->entryMap.setEntry(group, key, QByteArray(), options);
+ d->bDirty = true;
+ }
+ }
+ }
+}
+
+bool KConfig::isConfigWritable(bool warnUser)
+{
+ Q_D(KConfig);
+ bool allWritable = d->mBackend->isWritable();
+
+ if (warnUser && !allWritable) {
+ QString errorMsg;
+ errorMsg = d->mBackend->nonWritableErrorMessage();
+
+ // Note: We don't ask the user if we should not ask this question again because we can't save the answer.
+ errorMsg += QCoreApplication::translate("KConfig", "Please contact your system administrator.");
+ QString cmdToExec = QStandardPaths::findExecutable(QStringLiteral("kdialog"));
+ if (!cmdToExec.isEmpty()) {
+ QProcess::execute(cmdToExec, QStringList{QStringLiteral("--title"), QCoreApplication::applicationName(), QStringLiteral("--msgbox"), errorMsg});
+ }
+ }
+
+ d->configState = allWritable ? ReadWrite : ReadOnly; // update the read/write status
+
+ return allWritable;
+}
+
+bool KConfig::hasGroupImpl(const QString &aGroup) const
+{
+ Q_D(const KConfig);
+
+ // No need to look for the actual group entry anymore, or for subgroups:
+ // a group exists if it contains any non-deleted entry.
+
+ return d->hasNonDeletedEntries(aGroup);
+}
+
+bool KConfigPrivate::canWriteEntry(const QString &group, QAnyStringView key, bool isDefault) const
+{
+ if (bFileImmutable || entryMap.getEntryOption(group, key, KEntryMap::SearchLocalized, KEntryMap::EntryImmutable)) {
+ return isDefault;
+ }
+ return true;
+}
+
+void KConfigPrivate::putData(const QString &group, const char *key, const QByteArray &value, KConfigBase::WriteConfigFlags flags, bool expand)
+{
+ KEntryMap::EntryOptions options = convertToOptions(flags);
+
+ if (bForceGlobal) {
+ options |= KEntryMap::EntryGlobal;
+ }
+ if (expand) {
+ options |= KEntryMap::EntryExpansion;
+ }
+
+ if (value.isNull()) { // deleting entry
+ options |= KEntryMap::EntryDeleted;
+ }
+
+ bool dirtied = entryMap.setEntry(group, key, value, options);
+ if (dirtied && (flags & KConfigBase::Persistent)) {
+ bDirty = true;
+ }
+}
+
+void KConfigPrivate::revertEntry(const QString &group, QAnyStringView key, KConfigBase::WriteConfigFlags flags)
+{
+ KEntryMap::EntryOptions options = convertToOptions(flags);
+
+ bool dirtied = entryMap.revertEntry(group, key, options);
+ if (dirtied) {
+ bDirty = true;
+ }
+}
+
+QByteArray KConfigPrivate::lookupData(const QString &group, QAnyStringView key, KEntryMap::SearchFlags flags) const
+{
+ return lookupInternalEntry(group, key, flags).mValue;
+}
+
+KEntry KConfigPrivate::lookupInternalEntry(const QString &group, QAnyStringView key, KEntryMap::SearchFlags flags) const
+{
+ if (bReadDefaults) {
+ flags |= KEntryMap::SearchDefaults;
+ }
+ const auto it = entryMap.constFindEntry(group, key, flags);
+ if (it == entryMap.cend()) {
+ return {};
+ }
+ return it->second;
+}
+
+QString KConfigPrivate::lookupData(const QString &group, QAnyStringView key, KEntryMap::SearchFlags flags, bool *expand) const
+{
+ if (bReadDefaults) {
+ flags |= KEntryMap::SearchDefaults;
+ }
+ return entryMap.getEntry(group, key, QString(), flags, expand);
+}
+
+QStandardPaths::StandardLocation KConfig::locationType() const
+{
+ Q_D(const KConfig);
+ return d->resourceType;
+}
+
+void KConfig::virtual_hook(int /*id*/, void * /*data*/)
+{
+ /* nothing */
+}
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2006, 2007 Thomas Braxton <kde.braxton@gmail.com>
+ SPDX-FileCopyrightText: 2001 Waldo Bastian <bastian@kde.org>
+ SPDX-FileCopyrightText: 1999 Preston Brown <pbrown@kde.org>
+ SPDX-FileCopyrightText: 1997 Matthias Kalle Dalheimer <kalle@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIG_H
+#define KCONFIG_H
+
+#include "kconfigbase.h"
+
+#include <kconfigcore_export.h>
+
+#include <QByteArray>
+#include <QList>
+#include <QStandardPaths>
+#include <QString>
+#include <QVariant>
+
+class KConfigGroup;
+class KConfigPrivate;
+
+/**
+ * \class KConfig kconfig.h <KConfig>
+ *
+ * \brief The central class of the KDE configuration data system.
+ *
+ * Quickstart:
+ *
+ * Get the default application config object via KSharedConfig::openConfig().
+ *
+ * Load a specific configuration file:
+ * \code
+ * KConfig config("/etc/kderc", KConfig::SimpleConfig);
+ * \endcode
+ *
+ * Load the configuration of a specific component:
+ * \code
+ * KConfig config("pluginrc");
+ * \endcode
+ *
+ * In general it is recommended to use KSharedConfig instead of
+ * creating multiple instances of KConfig to avoid the overhead of
+ * separate objects or concerns about synchronizing writes to disk
+ * even if the configuration object is updated from multiple code paths.
+ * KSharedConfig provides a set of open methods as counterparts for the
+ * KConfig constructors.
+ *
+ * \sa KSharedConfig, KConfigGroup, <a href="https://techbase.kde.org/index.php?title=Development/Tutorials/KConfig">the techbase HOWTO on KConfig</a>.
+ */
+class KCONFIGCORE_EXPORT KConfig : public KConfigBase
+{
+public:
+ /**
+ * Determines how the system-wide and user's global settings will affect
+ * the reading of the configuration.
+ *
+ * If CascadeConfig is selected, system-wide configuration sources are used
+ * to provide defaults for the settings accessed through this object, or
+ * possibly to override those settings in certain cases.
+ *
+ * If IncludeGlobals is selected, the kdeglobals configuration is used
+ * as additional configuration sources to provide defaults. Additionally
+ * selecting CascadeConfig will result in the system-wide kdeglobals sources
+ * also getting included.
+ *
+ * Note that the main configuration source overrides the cascaded sources,
+ * which override those provided to addConfigSources(), which override the
+ * global sources. The exception is that if a key or group is marked as
+ * being immutable, it will not be overridden.
+ *
+ * Note that all values other than IncludeGlobals and CascadeConfig are
+ * convenience definitions for the basic mode.
+ * Do @em not combine them with anything.
+ * @see OpenFlags
+ */
+ enum OpenFlag {
+ IncludeGlobals = 0x01, ///< Blend kdeglobals into the config object.
+ CascadeConfig = 0x02, ///< Cascade to system-wide config files.
+
+ SimpleConfig = 0x00, ///< Just a single config file.
+ NoCascade = IncludeGlobals, ///< Include user's globals, but omit system settings.
+ NoGlobals = CascadeConfig, ///< Cascade to system settings, but omit user's globals.
+ FullConfig = IncludeGlobals | CascadeConfig, ///< Fully-fledged config, including globals and cascading to system settings
+ };
+ /**
+ * Stores a combination of #OpenFlag values.
+ */
+ Q_DECLARE_FLAGS(OpenFlags, OpenFlag)
+
+ /**
+ * Creates a KConfig object to manipulate a configuration file for the
+ * current application.
+ *
+ * If an absolute path is specified for @p file, that file will be used
+ * as the store for the configuration settings. If a non-absolute path
+ * is provided, the file will be looked for in the standard directory
+ * specified by type. If no path is provided, a default
+ * configuration file will be used based on the name of the main
+ * application component.
+ *
+ * @p mode determines whether the user or global settings will be allowed
+ * to influence the values returned by this object. See OpenFlags for
+ * more details.
+ *
+ * @note You probably want to use KSharedConfig::openConfig instead.
+ *
+ * @param file the name of the file. If an empty string is passed in
+ * and SimpleConfig is passed in for the OpenFlags, then an in-memory
+ * KConfig object is created which will not write out to file nor which
+ * requires any file in the filesystem at all.
+ * @param mode how global settings should affect the configuration
+ * options exposed by this KConfig object
+ * @param type The standard directory to look for the configuration
+ * file in
+ *
+ * @sa KSharedConfig::openConfig(const QString&, OpenFlags, QStandardPaths::StandardLocation)
+ */
+ explicit KConfig(const QString &file = QString(),
+ OpenFlags mode = FullConfig,
+ QStandardPaths::StandardLocation type = QStandardPaths::GenericConfigLocation);
+
+#if KCONFIGCORE_ENABLE_DEPRECATED_SINCE(6, 3)
+ /**
+ * @internal
+ *
+ * Creates a KConfig object using the specified backend. If the backend can not
+ * be found or loaded, then the standard configuration parser is used as a fallback.
+ *
+ * @param file the file to be parsed
+ * @param backend the backend to load
+ * @param type where to look for the file if an absolute path is not provided
+ *
+ * @since 4.1
+ *
+ * @deprecated since 6.3, use other constructor
+ */
+ KCONFIGCORE_DEPRECATED_VERSION(6, 3, "Use other constructor")
+ KConfig(const QString &file, const QString &backend, QStandardPaths::StandardLocation type = QStandardPaths::GenericConfigLocation);
+#endif
+
+ ~KConfig() override;
+
+ /**
+ * Returns the standard location enum passed to the constructor.
+ * Used by KSharedConfig.
+ * @since 5.0
+ */
+ QStandardPaths::StandardLocation locationType() const;
+
+ /**
+ * Returns the filename used to store the configuration.
+ */
+ QString name() const;
+
+ /**
+ * @return the flags this object was opened with
+ * @since 5.3
+ */
+ OpenFlags openFlags() const;
+
+ /// @reimp
+ bool sync() override;
+
+ /// Returns true if sync has any changes to write out.
+ /// @since 4.12
+ bool isDirty() const;
+
+ /// @reimp
+ void markAsClean() override;
+
+ /// @{ configuration object state
+ /// @reimp
+ AccessMode accessMode() const override;
+
+ /**
+ * Whether the configuration can be written to.
+ *
+ * If @p warnUser is true and the configuration cannot be
+ * written to (ie: this method returns @c false), a warning
+ * message box will be shown to the user telling them to
+ * contact their system administrator to get the problem fixed.
+ *
+ * The most likely cause for this method returning @c false
+ * is that the user does not have write permission for the
+ * configuration file.
+ *
+ * @param warnUser whether to show a warning message to the user
+ * if the configuration cannot be written to
+ *
+ * @returns true if the configuration can be written to, false
+ * if the configuration cannot be written to
+ */
+ bool isConfigWritable(bool warnUser);
+ /// @}
+
+ /**
+ * Copies all entries from this config object to a new config
+ * object that will save itself to @p file.
+ *
+ * The configuration will not actually be saved to @p file
+ * until the returned object is destroyed, or sync() is called
+ * on it.
+ *
+ * Do not forget to delete the returned KConfig object if
+ * @p config was 0.
+ *
+ * @param file the new config object will save itself to
+ * @param config if not 0, copy to the given KConfig object rather
+ * than creating a new one
+ *
+ * @return @p config if it was set, otherwise a new KConfig object
+ */
+ KConfig *copyTo(const QString &file, KConfig *config = nullptr) const;
+
+ /**
+ * Ensures that the configuration file contains a certain update.
+ *
+ * If the configuration file does not contain the update @p id
+ * as contained in @p updateFile, kconf_update is run to update
+ * the configuration file.
+ *
+ * If you install config update files with critical fixes
+ * you may wish to use this method to verify that a critical
+ * update has indeed been performed to catch the case where
+ * a user restores an old config file from backup that has
+ * not been updated yet.
+ *
+ * @param id the update to check
+ * @param updateFile the file containing the update
+ */
+ void checkUpdate(const QString &id, const QString &updateFile);
+
+ /**
+ * Updates the state of this object to match the persistent storage.
+ * Note that if this object has pending changes, this method will
+ * call sync() first so as not to lose those changes.
+ */
+ void reparseConfiguration();
+
+ /// @{ extra config files
+ /**
+ * Adds the list of configuration sources to the merge stack.
+ *
+ * Currently only files are accepted as configuration sources.
+ *
+ * The first entry in @p sources is treated as the most general and will
+ * be overridden by the second entry. The settings in the final entry
+ * in @p sources will override all the other sources provided in the list.
+ *
+ * The settings in @p sources will also be overridden by the sources
+ * provided by any previous calls to addConfigSources().
+ *
+ * The settings in the global configuration sources will be overridden by
+ * the sources provided to this method (@see IncludeGlobals).
+ * All the sources provided to any call to this method will be overridden
+ * by any files that cascade from the source provided to the constructor
+ * (@see CascadeConfig), which will in turn be
+ * overridden by the source provided to the constructor.
+ *
+ * Note that only the most specific file, ie: the file provided to the
+ * constructor, will be written to by this object.
+ *
+ * The state is automatically updated by this method, so there is no need to call
+ * reparseConfiguration().
+ *
+ * @param sources A list of extra config sources.
+ */
+ void addConfigSources(const QStringList &sources);
+
+ /**
+ * Returns a list of the additional configuration sources used in this object
+ */
+ QStringList additionalConfigSources() const;
+
+ /// @}
+ /// @{ locales
+ /**
+ * Returns the current locale.
+ */
+ QString locale() const;
+ /**
+ * Sets the locale to @p aLocale.
+ *
+ * The global locale is used by default.
+ *
+ * @note If set to the empty string, @b no locale will be matched. This effectively disables
+ * reading translated entries.
+ *
+ * @return @c true if locale was changed, @c false if the call had no
+ * effect (eg: @p aLocale was already the current locale for this
+ * object)
+ */
+ bool setLocale(const QString &aLocale);
+ /// @}
+
+ /// @{ defaults
+ /**
+ * When set, all readEntry calls return the system-wide (default) values
+ * instead of the user's settings.
+ *
+ * This is off by default.
+ *
+ * @param b whether to read the system-wide defaults instead of the
+ * user's settings
+ */
+ void setReadDefaults(bool b);
+ /**
+ * @returns @c true if the system-wide defaults will be read instead of the
+ * user's settings
+ */
+ bool readDefaults() const;
+ /// @}
+
+ /// @{ immutability
+ /// @reimp
+ bool isImmutable() const override;
+ /// @}
+
+ /// @reimp
+ QStringList groupList() const override;
+
+ /**
+ * Returns a map (tree) of entries in a particular group.
+ *
+ * The entries are all returned as strings.
+ *
+ * @param aGroup The group to get entries from.
+ *
+ * @return A map of entries in the group specified, indexed by key.
+ * The returned map may be empty if the group is empty, or not found.
+ * @see QMap
+ */
+ QMap<QString, QString> entryMap(const QString &aGroup = QString()) const;
+
+ /**
+ * Sets the name of the application config file.
+ * @since 5.0
+ */
+ static void setMainConfigName(const QString &str);
+
+ /**
+ * Get the name of application config file.
+ * @since 5.93
+ */
+ static QString mainConfigName();
+
+protected:
+ bool hasGroupImpl(const QString &groupName) const override;
+ KConfigGroup groupImpl(const QString &groupName) override;
+ const KConfigGroup groupImpl(const QString &groupName) const override;
+ void deleteGroupImpl(const QString &groupName, WriteConfigFlags flags = Normal) override;
+ bool isGroupImmutableImpl(const QString &groupName) const override;
+
+ friend class KConfigGroup;
+ friend class KConfigGroupPrivate;
+ friend class KSharedConfig;
+
+ /** Virtual hook, used to add new "virtual" functions while maintaining
+ * binary compatibility. Unused in this class.
+ */
+ void virtual_hook(int id, void *data) override;
+
+ KConfigPrivate *const d_ptr;
+
+ KCONFIGCORE_NO_EXPORT explicit KConfig(KConfigPrivate &d);
+
+private:
+ friend class KConfigTest;
+
+ Q_DISABLE_COPY(KConfig)
+
+ Q_DECLARE_PRIVATE(KConfig)
+};
+Q_DECLARE_OPERATORS_FOR_FLAGS(KConfig::OpenFlags)
+
+#endif // KCONFIG_H
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2006, 2007 Thomas Braxton <kde.braxton@gmail.com>
+ SPDX-FileCopyrightText: 2001 Waldo Bastian <bastian@kde.org>
+ SPDX-FileCopyrightText: 1999 Preston Brown <pbrown@kde.org>
+ SPDX-FileCopyrightText: 1997 Matthias Kalle Dalheimer <kalle@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIG_P_H
+#define KCONFIG_P_H
+
+#include "kconfig.h"
+#include "kconfigdata_p.h"
+#include "kconfiggroup.h"
+#include "kconfigini_p.h"
+
+#include <QDir>
+#include <QFile>
+#include <QStack>
+#include <QStringList>
+
+class KConfigPrivate
+{
+ friend class KConfig;
+
+public:
+ KConfig::OpenFlags openFlags;
+ QStandardPaths::StandardLocation resourceType;
+
+ void changeFileName(const QString &fileName);
+
+ // functions for KConfigGroup
+ bool canWriteEntry(const QString &group, QAnyStringView key, bool isDefault = false) const;
+ QString lookupData(const QString &group, QAnyStringView key, KEntryMap::SearchFlags flags, bool *expand) const;
+ QByteArray lookupData(const QString &group, QAnyStringView key, KEntryMap::SearchFlags flags) const;
+ KEntry lookupInternalEntry(const QString &group, QAnyStringView key, KEntryMap::SearchFlags flags) const;
+
+ void putData(const QString &groupName, const char *key, const QByteArray &value, KConfigBase::WriteConfigFlags flags, bool expand = false);
+ void setEntryData(const QString &groupName, const char *key, const QByteArray &value, KEntryMap::EntryOptions flags)
+ {
+ if (entryMap.setEntry(groupName, key, value, flags)) {
+ bDirty = true;
+ }
+ }
+ void revertEntry(const QString &group, QAnyStringView key, KConfigBase::WriteConfigFlags flags);
+ /**
+ * Returns a list of keys used with entries in a particular group.
+ *
+ * This does not include keys of deleted entries or those with default values.
+ * I.e. all the keys for which there will be also entries in KConfig::entryMap().
+ *
+ * @return A sorted list of keys in the group specified.
+ * The returned list may be empty if the group is empty, or not found.
+ */
+ QStringList usedKeyList(const QString &theGroup) const;
+ QStringList groupList(const QString &groupName) const;
+ // copies the entries from @p source to @p otherGroup changing all occurrences
+ // of @p source with @p destination
+ void copyGroup(const QString &source, const QString &destination, KConfigGroup *otherGroup, KConfigBase::WriteConfigFlags flags) const;
+ QList<QByteArray> keyListImpl(const QString &groupName) const;
+ QSet<QString> allSubGroups(const QString &parentGroupName) const;
+ bool hasNonDeletedEntries(const QString &groupName) const;
+
+ void notifyClients(const QHash<QString, QByteArrayList> &changes, const QString &path);
+
+ static QString expandString(const QString &value);
+
+protected:
+ QExplicitlySharedDataPointer<KConfigIniBackend> mBackend;
+
+ KConfigPrivate(KConfig::OpenFlags flags, QStandardPaths::StandardLocation type);
+
+ virtual ~KConfigPrivate()
+ {
+ }
+
+private:
+ bool bDirty : 1;
+ bool bReadDefaults : 1;
+ bool bFileImmutable : 1;
+ bool bForceGlobal : 1;
+ bool bSuppressGlobal : 1;
+
+ static bool mappingsRegistered;
+
+ KEntryMap entryMap;
+ QString backendType;
+ QStack<QString> extraFiles;
+
+ QString locale;
+ QString fileName;
+ QString etc_kderc;
+ KConfigBase::AccessMode configState;
+
+ bool wantGlobals() const
+ {
+ return openFlags & KConfig::IncludeGlobals && !bSuppressGlobal;
+ }
+ bool wantDefaults() const
+ {
+ return openFlags & KConfig::CascadeConfig;
+ }
+ bool isSimple() const
+ {
+ return openFlags == KConfig::SimpleConfig;
+ }
+ bool isReadOnly() const
+ {
+ return configState == KConfig::ReadOnly;
+ }
+
+ bool setLocale(const QString &aLocale);
+ QStringList getGlobalFiles() const;
+ void parseGlobalFiles();
+ void parseConfigFiles();
+ void initCustomized(KConfig *);
+ bool lockLocal();
+};
+
+#endif // KCONFIG_P_H
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2006, 2007 Thomas Braxton <kde.braxton@gmail.com>
+ SPDX-FileCopyrightText: 1999 Preston Brown <pbrown@kde.org>
+ SPDX-FileCopyrightText: 1997-1999 Matthias Kalle Dalheimer <kalle@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfigbase.h"
+
+#include "kconfiggroup.h"
+
+#include <QString>
+
+bool KConfigBase::hasGroup(const QString &group) const
+{
+ return hasGroupImpl(group);
+}
+
+KConfigGroup KConfigBase::group(const QString &str)
+{
+ return groupImpl(str);
+}
+
+const KConfigGroup KConfigBase::group(const QString &s) const
+{
+ return groupImpl(s);
+}
+
+void KConfigBase::deleteGroup(const QString &group, WriteConfigFlags flags)
+{
+ deleteGroupImpl(group, flags);
+}
+
+bool KConfigBase::isGroupImmutable(const QString &aGroup) const
+{
+ return isGroupImmutableImpl(aGroup);
+}
+
+KConfigBase::~KConfigBase()
+{
+}
+
+KConfigBase::KConfigBase()
+{
+}
+
+void KConfigBase::virtual_hook(int, void *)
+{
+}
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2006, 2007 Thomas Braxton <kde.braxton@gmail.com>
+ SPDX-FileCopyrightText: 2001 Waldo Bastian <bastian@kde.org>
+ SPDX-FileCopyrightText: 1999 Preston Brown <pbrown@kde.org>
+ SPDX-FileCopyrightText: 1997 Matthias Kalle Dalheimer <kalle@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGBASE_H
+#define KCONFIGBASE_H
+
+#include <kconfigcore_export.h>
+
+#include <QStringList>
+#include <QtGlobal>
+
+class KConfigGroup;
+class KConfigBasePrivate;
+
+/**
+ * \class KConfigBase kconfigbase.h <KConfigBase>
+ * \brief Interface to interact with configuration.
+ *
+ * KConfigBase allows a component of an application to persists its configuration
+ * without the component knowing if it is storing the configuration into a top
+ * level KConfig or a KConfigGroup inside a KConfig instance.
+ */
+class KCONFIGCORE_EXPORT KConfigBase
+{
+public:
+ /**
+ * Flags to control write entry
+ * @see WriteConfigFlags
+ */
+ enum WriteConfigFlag {
+ Persistent = 0x01,
+ /**<
+ * Save this entry when saving the config object.
+ */
+ Global = 0x02,
+ /**<
+ * Save the entry to the global %KDE config file instead of the
+ * application specific config file.
+ */
+ Localized = 0x04,
+ /**<
+ * Add the locale tag to the key when writing it.
+ */
+ Notify = 0x08 | Persistent,
+ /**<
+ * Notify remote KConfigWatchers of changes (requires DBus support)
+ * Implied persistent
+ * @since 5.51
+ */
+ Normal = Persistent,
+ /**<
+ * Save the entry to the application specific config file without
+ * a locale tag. This is the default.
+ */
+
+ };
+ /**
+ * Stores a combination of #WriteConfigFlag values.
+ */
+ Q_DECLARE_FLAGS(WriteConfigFlags, WriteConfigFlag)
+
+ /**
+ * Destructs the KConfigBase object.
+ */
+ virtual ~KConfigBase();
+
+ /**
+ * Returns a list of groups that are known about.
+ *
+ * @return The list of groups.
+ **/
+ virtual QStringList groupList() const = 0;
+
+ /**
+ * Returns true if the specified group is known about.
+ *
+ * @param group name of group to search for
+ * @return true if the group exists.
+ */
+ bool hasGroup(const QString &group) const;
+
+ /**
+ * Returns an object for the named subgroup.
+ *
+ * @param group the group to open. Pass an empty string here to the KConfig
+ * object to obtain a handle on the root group.
+ * @return config group object for the given group name.
+ */
+ KConfigGroup group(const QString &group);
+
+ /**
+ * Const overload for group(const QString&)
+ */
+ const KConfigGroup group(const QString &group) const;
+
+ /**
+ * Delete @p group.
+ * This marks @p group as @em deleted in the config object. This effectively
+ * removes any cascaded values from config files earlier in the stack.
+ */
+ void deleteGroup(const QString &group, WriteConfigFlags flags = Normal);
+
+ /**
+ * Syncs the configuration object that this group belongs to.
+ * Unrelated concurrent changes to the same file are merged and thus
+ * not overwritten. Note however, that this object is @em not automatically
+ * updated with those changes.
+ */
+ virtual bool sync() = 0;
+
+ /**
+ * Reset the dirty flags of all entries in the entry map, so the
+ * values will not be written to disk on a later call to sync().
+ */
+ virtual void markAsClean() = 0;
+
+ /**
+ * Possible return values for accessMode().
+ */
+ enum AccessMode {
+ NoAccess,
+ ReadOnly,
+ ReadWrite,
+ };
+
+ /**
+ * Returns the access mode of the app-config object.
+ *
+ * Possible return values
+ * are NoAccess (the application-specific config file could not be
+ * opened neither read-write nor read-only), ReadOnly (the
+ * application-specific config file is opened read-only, but not
+ * read-write) and ReadWrite (the application-specific config
+ * file is opened read-write).
+ *
+ * @return the access mode of the app-config object
+ */
+ virtual AccessMode accessMode() const = 0;
+
+ /**
+ * Checks whether this configuration object can be modified.
+ * @return whether changes may be made to this configuration object.
+ */
+ virtual bool isImmutable() const = 0;
+
+ /**
+ * Can changes be made to the entries in @p group?
+ *
+ * @param group The group to check for immutability.
+ * @return @c false if the entries in @p group can be modified, otherwise @c true
+ */
+ bool isGroupImmutable(const QString &group) const;
+
+protected:
+ KConfigBase();
+
+ /// @param groupName name of group
+ virtual bool hasGroupImpl(const QString &groupName) const = 0;
+ /// @param groupName name of group
+ virtual KConfigGroup groupImpl(const QString &groupName) = 0;
+ /// @param groupName name of group
+ virtual const KConfigGroup groupImpl(const QString &groupName) const = 0;
+ /// @param groupName name of group
+ virtual void deleteGroupImpl(const QString &groupName, WriteConfigFlags flags = Normal) = 0;
+ /// @param groupName name of group
+ virtual bool isGroupImmutableImpl(const QString &groupName) const = 0;
+
+ /** Virtual hook, used to add new "virtual" functions while maintaining
+ * binary compatibility. Unused in this class.
+ */
+ virtual void virtual_hook(int id, void *data);
+};
+
+Q_DECLARE_OPERATORS_FOR_FLAGS(KConfigBase::WriteConfigFlags)
+
+#endif // KCONFIG_H
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 1999 Preston Brown <pbrown@kde.org>
+ SPDX-FileCopyrightText: 1997 Matthias Kalle Dalheimer <kalle@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGBASE_P_H
+#define KCONFIGBASE_P_H
+
+#include <QSharedData>
+
+class KConfigBasePrivate : public QSharedData
+{
+};
+#endif
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2006 Thomas Braxton <brax108@cox.net>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIG_CONVERSION_CHECK_P_H
+#define KCONFIG_CONVERSION_CHECK_P_H
+
+#include <QDate>
+#include <QPoint>
+#include <QRect>
+#include <QSize>
+#include <QString>
+#include <QUuid>
+#include <QVariant>
+
+class QColor;
+class QFont;
+
+namespace KConfigConversionCheck
+{
+// used to distinguish between supported/unsupported types
+struct supported {
+};
+struct unsupported {
+};
+
+// traits type class to define support for constraints
+template<typename T>
+struct QVconvertible {
+ typedef unsupported toQString;
+ typedef unsupported toQVariant;
+};
+
+// constraint classes
+template<typename T>
+struct type_toQString {
+ void constraint()
+ {
+ supported x = y;
+ Q_UNUSED(x);
+ }
+ typename QVconvertible<T>::toQString y;
+};
+
+template<typename T>
+struct type_toQVariant {
+ void constraint()
+ {
+ supported x = y;
+ Q_UNUSED(x);
+ }
+ typename QVconvertible<T>::toQVariant y;
+};
+
+// check if T is convertible to QString thru QVariant
+// if not supported can't be used in QList<T> functions
+template<typename T>
+inline void to_QString()
+{
+ void (type_toQString<T>::*x)() = &type_toQString<T>::constraint;
+ Q_UNUSED(x);
+}
+
+// check if T is convertible to QVariant & supported in readEntry/writeEntry
+template<typename T>
+inline void to_QVariant()
+{
+ void (type_toQVariant<T>::*x)() = &type_toQVariant<T>::constraint;
+ Q_UNUSED(x);
+}
+
+// define for all types handled in readEntry/writeEntry
+// string_support - is supported by QVariant(type).toString(),
+// can be used in QList<T> functions
+// variant_support - has a QVariant constructor
+#define QVConversions(type, string_support, variant_support) \
+ template<> \
+ struct QVconvertible<type> { \
+ typedef string_support toQString; \
+ typedef variant_support toQVariant; \
+ }
+
+// The only types needed here are the types handled in readEntry/writeEntry
+// the default QVconvertible will take care of the rest.
+QVConversions(bool, supported, supported);
+QVConversions(int, supported, supported);
+QVConversions(unsigned int, supported, supported);
+QVConversions(long long, supported, supported);
+QVConversions(unsigned long long, supported, supported);
+QVConversions(float, supported, supported);
+QVConversions(double, supported, supported);
+QVConversions(QString, supported, supported);
+QVConversions(QColor, unsupported, supported);
+QVConversions(QFont, supported, supported);
+QVConversions(QDateTime, unsupported, supported);
+QVConversions(QDate, unsupported, supported);
+QVConversions(QSize, unsupported, supported);
+QVConversions(QRect, unsupported, supported);
+QVConversions(QPoint, unsupported, supported);
+QVConversions(QSizeF, unsupported, supported);
+QVConversions(QRectF, unsupported, supported);
+QVConversions(QPointF, unsupported, supported);
+QVConversions(QByteArray, supported, supported);
+QVConversions(QStringList, unsupported, supported);
+QVConversions(QVariantList, unsupported, supported);
+QVConversions(QUrl, supported, supported);
+QVConversions(QList<QUrl>, unsupported, supported);
+QVConversions(QUuid, supported, supported);
+}
+
+#endif
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2006, 2007 Thomas Braxton <kde.braxton@gmail.com>
+ SPDX-FileCopyrightText: 1999-2000 Preston Brown <pbrown@kde.org>
+ SPDX-FileCopyrightText: 1996-2000 Matthias Kalle Dalheimer <kalle@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfigdata_p.h"
+
+QDebug operator<<(QDebug dbg, const KEntryKey &key)
+{
+ dbg.nospace() << "[" << key.mGroup << ", " << key.mKey << (key.bLocal ? " localized" : "") << (key.bDefault ? " default" : "") << (key.bRaw ? " raw" : "")
+ << "]";
+ return dbg.space();
+}
+
+QDebug operator<<(QDebug dbg, const KEntry &entry)
+{
+ dbg.nospace() << "[" << entry.mValue << (entry.bDirty ? " dirty" : "") << (entry.bGlobal ? " global" : "")
+ << (entry.bOverridesGlobal ? " overrides global" : "") << (entry.bImmutable ? " immutable" : "") << (entry.bDeleted ? " deleted" : "")
+ << (entry.bReverted ? " reverted" : "") << (entry.bExpand ? " expand" : "") << "]";
+
+ return dbg.space();
+}
+
+KEntryMapIterator KEntryMap::findExactEntry(const QString &group, QAnyStringView key, KEntryMap::SearchFlags flags)
+{
+ const KEntryKeyView theKey(group, key, bool(flags & SearchLocalized), bool(flags & SearchDefaults));
+ return find(theKey);
+}
+
+KEntryMapIterator KEntryMap::findEntry(const QString &group, QAnyStringView key, KEntryMap::SearchFlags flags)
+{
+ KEntryKeyView theKey(group, key, false, bool(flags & SearchDefaults));
+
+ // try the localized key first
+ if (flags & SearchLocalized) {
+ theKey.bLocal = true;
+
+ iterator it = find(theKey);
+ if (it != end()) {
+ return it;
+ }
+
+ theKey.bLocal = false;
+ }
+ return find(theKey);
+}
+
+KEntryMapConstIterator KEntryMap::constFindEntry(const QString &group, QAnyStringView key, SearchFlags flags) const
+{
+ KEntryKeyView theKey(group, key, false, bool(flags & SearchDefaults));
+
+ // try the localized key first
+ if (flags & SearchLocalized) {
+ theKey.bLocal = true;
+
+ auto it = find(theKey);
+ if (it != cend()) {
+ return it;
+ }
+
+ theKey.bLocal = false;
+ }
+
+ return find(theKey);
+}
+
+bool KEntryMap::setEntry(const QString &group, const QByteArray &key, const QByteArray &value, KEntryMap::EntryOptions options)
+{
+ KEntryKey k;
+ KEntry e;
+ bool newKey = false;
+
+ const iterator it = findExactEntry(group, key, SearchFlags(options >> 16));
+
+ if (key.isEmpty()) { // inserting a group marker
+ k.mGroup = group;
+ e.bImmutable = (options & EntryImmutable);
+ if (options & EntryDeleted) {
+ qWarning("Internal KConfig error: cannot mark groups as deleted");
+ }
+ if (it == end()) {
+ insert_or_assign(k, e);
+ return true;
+ } else if (it->second == e) {
+ return false;
+ }
+
+ it->second = e;
+ return true;
+ }
+
+ if (it != end()) {
+ if (it->second.bImmutable) {
+ return false; // we cannot change this entry. Inherits group immutability.
+ }
+ k = it->first;
+ e = it->second;
+ // qDebug() << "found existing entry for key" << k;
+ // If overridden entry is global and not default. And it's overridden by a non global
+ if (e.bGlobal && !(options & EntryGlobal) && !k.bDefault) {
+ e.bOverridesGlobal = true;
+ }
+ } else {
+ // make sure the group marker is in the map
+ KEntryMap const *that = this;
+ auto cit = that->constFindEntry(group);
+ if (cit == cend()) {
+ insert_or_assign(KEntryKey(group), KEntry());
+ } else if (cit->second.bImmutable) {
+ return false; // this group is immutable, so we cannot change this entry.
+ }
+
+ k = KEntryKey(group, key);
+ newKey = true;
+ }
+
+ // set these here, since we may be changing the type of key from the one we found
+ k.bLocal = (options & EntryLocalized);
+ k.bDefault = (options & EntryDefault);
+ k.bRaw = (options & EntryRawKey);
+
+ e.mValue = value;
+ e.bDirty = e.bDirty || (options & EntryDirty);
+ e.bNotify = e.bNotify || (options & EntryNotify);
+
+ e.bGlobal = (options & EntryGlobal); // we can't use || here, because changes to entries in
+ // kdeglobals would be written to kdeglobals instead
+ // of the local config file, regardless of the globals flag
+ e.bImmutable = e.bImmutable || (options & EntryImmutable);
+ if (value.isNull()) {
+ e.bDeleted = e.bDeleted || (options & EntryDeleted);
+ } else {
+ e.bDeleted = false; // setting a value to a previously deleted entry
+ }
+ e.bExpand = (options & EntryExpansion);
+ e.bReverted = false;
+ if (options & EntryLocalized) {
+ e.bLocalizedCountry = (options & EntryLocalizedCountry);
+ } else {
+ e.bLocalizedCountry = false;
+ }
+
+ if (newKey) {
+ // qDebug() << "inserting" << k << "=" << value;
+ insert_or_assign(k, e);
+ if (k.bDefault) {
+ k.bDefault = false;
+ // qDebug() << "also inserting" << k << "=" << value;
+ insert_or_assign(k, e);
+ }
+ // TODO check for presence of unlocalized key
+ return true;
+ }
+
+ // KEntry e2 = it->second;
+ if (options & EntryLocalized) {
+ // fast exit checks for cases where the existing entry is more specific
+ const KEntry &e2 = it->second;
+ if (e2.bLocalizedCountry && !e.bLocalizedCountry) {
+ // lang_COUNTRY > lang
+ return false;
+ }
+ }
+
+ if (it->second != e) {
+ // qDebug() << "changing" << k << "from" << it->second.mValue << "to" << value << e;
+ it->second = e;
+ if (k.bDefault) {
+ KEntryKey nonDefaultKey(k);
+ nonDefaultKey.bDefault = false;
+ insert_or_assign(nonDefaultKey, e);
+ }
+ if (!(options & EntryLocalized)) {
+ KEntryKey theKey(group, key, true, false);
+ // qDebug() << "non-localized entry, remove localized one:" << theKey;
+ erase(theKey);
+ if (k.bDefault) {
+ theKey.bDefault = true;
+ erase(theKey);
+ }
+ }
+ return true;
+ }
+
+ // qDebug() << k << "was already set to" << e.mValue;
+ if (!(options & EntryLocalized)) {
+ // qDebug() << "unchanged non-localized entry, remove localized one.";
+ KEntryKey theKey(group, key, true, false);
+ bool ret = false;
+ iterator cit = find(theKey);
+ if (cit != end()) {
+ erase(cit);
+ ret = true;
+ }
+ if (k.bDefault) {
+ theKey.bDefault = true;
+ iterator cit = find(theKey);
+ if (cit != end()) {
+ erase(cit);
+ return true;
+ }
+ }
+ return ret;
+ }
+
+ // qDebug() << "localized entry, unchanged, return false";
+ // When we are writing a default, we know that the non-
+ // default is the same as the default, so we can simply
+ // use the same branch.
+ return false;
+}
+
+QString KEntryMap::getEntry(const QString &group, QAnyStringView key, const QString &defaultValue, KEntryMap::SearchFlags flags, bool *expand) const
+{
+ const auto it = constFindEntry(group, key, flags);
+ QString theValue = defaultValue;
+
+ if (it != cend() && !it->second.bDeleted) {
+ if (!it->second.mValue.isNull()) {
+ const QByteArray data = it->second.mValue;
+ theValue = QString::fromUtf8(data.constData(), data.length());
+ if (expand) {
+ *expand = it->second.bExpand;
+ }
+ }
+ }
+
+ return theValue;
+}
+
+bool KEntryMap::hasEntry(const QString &group, QAnyStringView key, KEntryMap::SearchFlags flags) const
+{
+ const auto it = constFindEntry(group, key, flags);
+ if (it == cend()) {
+ return false;
+ }
+ if (it->second.bDeleted) {
+ return false;
+ }
+ if (key.isNull()) { // looking for group marker
+ return it->second.mValue.isNull();
+ }
+ // if it->bReverted, we'll just return true; the real answer depends on lookup up with SearchDefaults, though.
+ return true;
+}
+
+bool KEntryMap::getEntryOption(const KEntryMapConstIterator &it, KEntryMap::EntryOption option) const
+{
+ if (it == cend()) {
+ return false;
+ }
+
+ switch (option) {
+ case EntryDirty:
+ return it->second.bDirty;
+ case EntryLocalized:
+ return it->first.bLocal;
+ case EntryGlobal:
+ return it->second.bGlobal;
+ case EntryImmutable:
+ return it->second.bImmutable;
+ case EntryDeleted:
+ return it->second.bDeleted;
+ case EntryExpansion:
+ return it->second.bExpand;
+ case EntryNotify:
+ return it->second.bNotify;
+ default:
+ return false;
+ }
+}
+
+void KEntryMap::setEntryOption(KEntryMapIterator it, KEntryMap::EntryOption option, bool bf)
+{
+ if (it == end()) {
+ return;
+ }
+
+ switch (option) {
+ case EntryDirty:
+ it->second.bDirty = bf;
+ return;
+ case EntryGlobal:
+ it->second.bGlobal = bf;
+ return;
+ case EntryImmutable:
+ it->second.bImmutable = bf;
+ return;
+ case EntryDeleted:
+ it->second.bDeleted = bf;
+ return;
+ case EntryExpansion:
+ it->second.bExpand = bf;
+ return;
+ case EntryNotify:
+ it->second.bNotify = bf;
+ return;
+ default:
+ return; // fall through
+ }
+}
+
+bool KEntryMap::revertEntry(const QString &group, QAnyStringView key, KEntryMap::EntryOptions options, KEntryMap::SearchFlags flags)
+{
+ Q_ASSERT((flags & KEntryMap::SearchDefaults) == 0);
+ iterator entry = findEntry(group, key, flags);
+ if (entry == end()) {
+ return false;
+ }
+
+ // qDebug() << "reverting" << entry->first << " = " << entry->mValue;
+ if (entry->second.bReverted) { // already done before
+ return false;
+ }
+
+ KEntryKey defaultKey(entry->first);
+ defaultKey.bDefault = true;
+ // qDebug() << "looking up default entry with key=" << defaultKey;
+ const auto defaultEntry = find(defaultKey);
+ if (defaultEntry != cend()) {
+ Q_ASSERT(defaultEntry->first.bDefault);
+ // qDebug() << "found, update entry";
+ entry->second = defaultEntry->second; // copy default value, for subsequent lookups
+ } else {
+ entry->second.mValue = QByteArray();
+ }
+ entry->second.bNotify = entry->second.bNotify || (options & EntryNotify);
+ entry->second.bDirty = true;
+ entry->second.bReverted = true; // skip it when writing out to disk
+
+ // qDebug() << "Here's what we have now:" << *this;
+ return true;
+}
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2006, 2007 Thomas Braxton <kde.braxton@gmail.com>
+ SPDX-FileCopyrightText: 1999-2000 Preston Brown <pbrown@kde.org>
+ SPDX-FileCopyrightText: 1996-2000 Matthias Kalle Dalheimer <kalle@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGDATA_P_H
+#define KCONFIGDATA_P_H
+
+#include <QByteArray>
+#include <QDebug>
+#include <QString>
+#include <map>
+
+/**
+ * map/dict/list config node entry.
+ * @internal
+ */
+struct KEntry {
+ /** Constructor. @internal */
+ KEntry()
+ : mValue()
+ , bDirty(false)
+ , bGlobal(false)
+ , bImmutable(false)
+ , bDeleted(false)
+ , bExpand(false)
+ , bReverted(false)
+ , bLocalizedCountry(false)
+ , bNotify(false)
+ , bOverridesGlobal(false)
+ {
+ }
+ /** @internal */
+ QByteArray mValue;
+ /**
+ * Must the entry be written back to disk?
+ */
+ bool bDirty : 1;
+ /**
+ * Entry should be written to the global config file
+ */
+ bool bGlobal : 1;
+ /**
+ * Entry can not be modified.
+ */
+ bool bImmutable : 1;
+ /**
+ * Entry has been deleted.
+ */
+ bool bDeleted : 1;
+ /**
+ * Whether to apply dollar expansion or not.
+ */
+ bool bExpand : 1;
+ /**
+ * Entry has been reverted to its default value (from a more global file).
+ */
+ bool bReverted : 1;
+ /**
+ * Entry is for a localized key. If @c false the value references just language e.g. "de",
+ * if @c true the value references language and country, e.g. "de_DE".
+ **/
+ bool bLocalizedCountry : 1;
+
+ bool bNotify : 1;
+
+ /**
+ * Entry will need to be written on a non global file even if it matches default value
+ */
+ bool bOverridesGlobal : 1;
+};
+
+Q_DECLARE_TYPEINFO(KEntry, Q_RELOCATABLE_TYPE);
+
+// These operators are used to check whether an entry which is about
+// to be written equals the previous value. As such, this intentionally
+// omits the dirty/notify flag from the comparison.
+inline bool operator==(const KEntry &k1, const KEntry &k2)
+{
+ /* clang-format off */
+ return k1.bGlobal == k2.bGlobal
+ && k1.bImmutable == k2.bImmutable
+ && k1.bDeleted == k2.bDeleted
+ && k1.bExpand == k2.bExpand
+ && k1.mValue == k2.mValue;
+ /* clang-format on */
+}
+
+inline bool operator!=(const KEntry &k1, const KEntry &k2)
+{
+ return !(k1 == k2);
+}
+
+/**
+ * key structure holding both the actual key and the group
+ * to which it belongs.
+ * @internal
+ */
+struct KEntryKey {
+ /** Constructor. @internal */
+ KEntryKey(const QString &_group = QString(), const QByteArray &_key = QByteArray(), bool isLocalized = false, bool isDefault = false)
+ : mGroup(_group)
+ , mKey(_key)
+ , bLocal(isLocalized)
+ , bDefault(isDefault)
+ , bRaw(false)
+ {
+ }
+ /**
+ * The "group" to which this EntryKey belongs
+ */
+ QString mGroup;
+ /**
+ * The _actual_ key of the entry in question
+ */
+ QByteArray mKey;
+ /**
+ * Entry is localised or not
+ */
+ bool bLocal : 1;
+ /**
+ * Entry indicates if this is a default value.
+ */
+ bool bDefault : 1;
+ /** @internal
+ * Key is a raw unprocessed key.
+ * @warning this should only be set during merging, never for normal use.
+ */
+ bool bRaw : 1;
+};
+
+Q_DECLARE_TYPEINFO(KEntryKey, Q_RELOCATABLE_TYPE);
+
+/**
+ * Compares two KEntryKeys (needed for std::map). The order is localized, localized-default,
+ * non-localized, non-localized-default
+ * @internal
+ */
+inline bool operator<(const KEntryKey &k1, const KEntryKey &k2)
+{
+ int result = k1.mGroup.compare(k2.mGroup);
+ if (result != 0) {
+ return result < 0;
+ }
+
+ result = k1.mKey.compare(k2.mKey);
+ if (result != 0) {
+ return result < 0;
+ }
+
+ if (k1.bLocal != k2.bLocal) {
+ return k1.bLocal;
+ }
+ return (!k1.bDefault && k2.bDefault);
+}
+
+/**
+ * Light-weight view variant of KEntryKey.
+ * Used for look-up in the map.
+ * @internal
+ */
+struct KEntryKeyView {
+ /** Constructor. @internal */
+ KEntryKeyView(QStringView _group, QAnyStringView _key, bool isLocalized = false, bool isDefault = false)
+ : mGroup(_group)
+ , mKey(_key)
+ , bLocal(isLocalized)
+ , bDefault(isDefault)
+ {
+ }
+ /**
+ * The "group" to which this EntryKey belongs
+ */
+ const QStringView mGroup;
+ /**
+ * The _actual_ key of the entry in question
+ */
+ const QAnyStringView mKey;
+ /**
+ * Entry is localised or not
+ */
+ bool bLocal : 1;
+ /**
+ * Entry indicates if this is a default value.
+ */
+ bool bDefault : 1;
+};
+
+template<typename TEntryKey1, typename TEntryKey2>
+bool compareEntryKeyViews(const TEntryKey1 &k1, const TEntryKey2 &k2)
+{
+ int result = k1.mGroup.compare(k2.mGroup);
+ if (result != 0) {
+ return result < 0;
+ }
+
+ result = QAnyStringView::compare(k1.mKey, k2.mKey);
+ if (result != 0) {
+ return result < 0;
+ }
+
+ if (k1.bLocal != k2.bLocal) {
+ return k1.bLocal;
+ }
+ return (!k1.bDefault && k2.bDefault);
+}
+
+inline bool operator<(const KEntryKeyView &k1, const KEntryKey &k2)
+{
+ return compareEntryKeyViews(k1, k2);
+}
+
+inline bool operator<(const KEntryKey &k1, const KEntryKeyView &k2)
+{
+ return compareEntryKeyViews(k1, k2);
+}
+
+/**
+ * Struct to use as Compare type with std::map.
+ * To enable usage of KEntryKeyView for look-up in the map
+ * via the template find() overloads.
+ * @internal
+ */
+struct KEntryKeyCompare {
+ using is_transparent = void;
+
+ bool operator()(const KEntryKey &k1, const KEntryKey &k2) const
+ {
+ return (k1 < k2);
+ }
+
+ bool operator()(const KEntryKeyView &k1, const KEntryKey &k2) const
+ {
+ return (k1 < k2);
+ }
+
+ bool operator()(const KEntryKey &k1, const KEntryKeyView &k2) const
+ {
+ return (k1 < k2);
+ }
+};
+
+/**
+ * Returns the minimum key that has @a mGroup == @p group.
+ *
+ * @note The returned "minimum key" is consistent with KEntryKey's operator<().
+ * The return value of this function can be passed to KEntryMap::lowerBound().
+ */
+inline KEntryKeyView minimumGroupKeyView(const QString &group)
+{
+ return KEntryKeyView(group, QAnyStringView{}, true, false);
+}
+
+QDebug operator<<(QDebug dbg, const KEntryKey &key);
+QDebug operator<<(QDebug dbg, const KEntry &entry);
+
+/**
+ * \relates KEntry
+ * type specifying a map of entries (key,value pairs).
+ * The keys are actually a key in a particular config file group together
+ * with the group name.
+ * @internal
+ */
+class KEntryMap : public std::map<KEntryKey, KEntry, KEntryKeyCompare>
+{
+public:
+ enum SearchFlag {
+ SearchDefaults = 1,
+ SearchLocalized = 2,
+ };
+ Q_DECLARE_FLAGS(SearchFlags, SearchFlag)
+
+ enum EntryOption {
+ EntryDirty = 1,
+ EntryGlobal = 2,
+ EntryImmutable = 4,
+ EntryDeleted = 8,
+ EntryExpansion = 16,
+ EntryRawKey = 32,
+ EntryLocalizedCountry = 64,
+ EntryNotify = 128,
+ EntryDefault = (SearchDefaults << 16),
+ EntryLocalized = (SearchLocalized << 16),
+ };
+ Q_DECLARE_FLAGS(EntryOptions, EntryOption)
+
+ iterator findExactEntry(const QString &group, QAnyStringView key = QAnyStringView(), SearchFlags flags = SearchFlags());
+
+ iterator findEntry(const QString &group, QAnyStringView key = QAnyStringView(), SearchFlags flags = SearchFlags());
+
+ const_iterator findEntry(const QString &group, QAnyStringView key = QAnyStringView(), SearchFlags flags = SearchFlags()) const
+ {
+ return constFindEntry(group, key, flags);
+ }
+
+ const_iterator constFindEntry(const QString &group, QAnyStringView key = QAnyStringView(), SearchFlags flags = SearchFlags()) const;
+
+ /**
+ * Returns true if the entry gets dirtied or false in other case
+ */
+ bool setEntry(const QString &group, const QByteArray &key, const QByteArray &value, EntryOptions options);
+
+ void setEntry(const QString &group, const QByteArray &key, const QString &value, EntryOptions options)
+ {
+ setEntry(group, key, value.toUtf8(), options);
+ }
+
+ QString getEntry(const QString &group,
+ QAnyStringView key,
+ const QString &defaultValue = QString(),
+ SearchFlags flags = SearchFlags(),
+ bool *expand = nullptr) const;
+
+ bool hasEntry(const QString &group, QAnyStringView key = QAnyStringView(), SearchFlags flags = SearchFlags()) const;
+
+ bool getEntryOption(const const_iterator &it, EntryOption option) const;
+ bool getEntryOption(const QString &group, QAnyStringView key, SearchFlags flags, EntryOption option) const
+ {
+ return getEntryOption(findEntry(group, key, flags), option);
+ }
+
+ void setEntryOption(iterator it, EntryOption option, bool bf);
+ void setEntryOption(const QString &group, QAnyStringView key, SearchFlags flags, EntryOption option, bool bf)
+ {
+ setEntryOption(findEntry(group, key, flags), option, bf);
+ }
+
+ bool revertEntry(const QString &group, QAnyStringView key, EntryOptions options, SearchFlags flags = SearchFlags());
+
+ template<typename ConstIteratorUser>
+ void forEachEntryWhoseGroupStartsWith(const QString &groupPrefix, ConstIteratorUser callback) const
+ {
+ for (auto it = lower_bound(minimumGroupKeyView(groupPrefix)), end = cend(); it != end && it->first.mGroup.startsWith(groupPrefix); ++it) {
+ callback(it);
+ }
+ }
+
+ template<typename ConstIteratorPredicate>
+ bool anyEntryWhoseGroupStartsWith(const QString &groupPrefix, ConstIteratorPredicate predicate) const
+ {
+ for (auto it = lower_bound(minimumGroupKeyView(groupPrefix)), end = cend(); it != end && it->first.mGroup.startsWith(groupPrefix); ++it) {
+ if (predicate(it)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ template<typename ConstIteratorUser>
+ void forEachEntryOfGroup(const QString &theGroup, ConstIteratorUser callback) const
+ {
+ const auto theEnd = cend();
+ auto it = constFindEntry(theGroup);
+ if (it != theEnd) {
+ ++it; // advance past the special group entry marker
+
+ for (; (it != theEnd) && (it->first.mGroup == theGroup); ++it) {
+ callback(it);
+ }
+ }
+ }
+};
+Q_DECLARE_OPERATORS_FOR_FLAGS(KEntryMap::SearchFlags)
+Q_DECLARE_OPERATORS_FOR_FLAGS(KEntryMap::EntryOptions)
+
+/**
+ * \relates KEntry
+ * type for iterating over keys in a KEntryMap in sorted order.
+ * @internal
+ */
+typedef KEntryMap::iterator KEntryMapIterator;
+
+/**
+ * \relates KEntry
+ * type for iterating over keys in a KEntryMap in sorted order.
+ * It is const, thus you cannot change the entries in the iterator,
+ * only examine them.
+ * @internal
+ */
+typedef KEntryMap::const_iterator KEntryMapConstIterator;
+
+#endif
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2006, 2007 Thomas Braxton <kde.braxton@gmail.com>
+ SPDX-FileCopyrightText: 1999 Preston Brown <pbrown@kde.org>
+ SPDX-FileCopyrightText: 1997 Matthias Kalle Dalheimer <kalle@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfiggroup.h"
+#include "kconfiggroup_p.h"
+
+#include "kconfig.h"
+#include "kconfig_core_log_settings.h"
+#include "kconfig_p.h"
+#include "kconfigdata_p.h"
+#include "ksharedconfig.h"
+
+#include <QDate>
+#include <QDir>
+#include <QFile>
+#include <QPoint>
+#include <QRect>
+#include <QSharedData>
+#include <QString>
+#include <QTextStream>
+#include <QUrl>
+#include <QUuid>
+
+#include <algorithm>
+#include <array>
+#include <math.h>
+#include <stdlib.h>
+
+class KConfigGroupPrivate : public QSharedData
+{
+public:
+ KConfigGroupPrivate(KConfig *owner, bool isImmutable, bool isConst, const QString &name)
+ : mOwner(owner)
+ , mName(name)
+ , bImmutable(isImmutable)
+ , bConst(isConst)
+ {
+ if (Q_UNLIKELY(!mOwner->name().isEmpty() && mOwner->accessMode() == KConfigBase::NoAccess)) {
+ qCWarning(KCONFIG_CORE_LOG) << "Created a KConfigGroup on an inaccessible config location" << mOwner->name() << name;
+ }
+ }
+
+ KConfigGroupPrivate(const KSharedConfigPtr &owner, const QString &name)
+ : sOwner(owner)
+ , mOwner(sOwner.data())
+ , mName(name)
+ , bImmutable(name.isEmpty() ? owner->isImmutable() : owner->isGroupImmutable(name))
+ , bConst(false)
+ {
+ if (Q_UNLIKELY(!mOwner->name().isEmpty() && mOwner->accessMode() == KConfigBase::NoAccess)) {
+ qCWarning(KCONFIG_CORE_LOG) << "Created a KConfigGroup on an inaccessible config location" << mOwner->name() << name;
+ }
+ }
+
+ KConfigGroupPrivate(KConfigGroup *parent, bool isImmutable, bool isConst, const QString &name)
+ : sOwner(parent->d->sOwner)
+ , mOwner(parent->d->mOwner)
+ , mName(name)
+ , bImmutable(isImmutable)
+ , bConst(isConst)
+ {
+ if (!parent->d->mName.isEmpty()) {
+ mParent = parent->d;
+ }
+ }
+
+ KConfigGroupPrivate(const KConfigGroupPrivate *other, bool isImmutable, const QString &name)
+ : sOwner(other->sOwner)
+ , mOwner(other->mOwner)
+ , mName(name)
+ , bImmutable(isImmutable)
+ , bConst(other->bConst)
+ {
+ if (!other->mName.isEmpty()) {
+ mParent = const_cast<KConfigGroupPrivate *>(other);
+ }
+ }
+
+ KSharedConfig::Ptr sOwner;
+ KConfig *mOwner;
+ QExplicitlySharedDataPointer<KConfigGroupPrivate> mParent;
+ QString mName;
+
+ /* bitfield */
+ const bool bImmutable : 1; // is this group immutable?
+ const bool bConst : 1; // is this group read-only?
+
+ QString fullName() const
+ {
+ if (!mParent) {
+ return name();
+ }
+ return mParent->fullName(mName);
+ }
+
+ QString name() const
+ {
+ if (mName.isEmpty()) {
+ return QStringLiteral("<default>");
+ }
+ return mName;
+ }
+
+ QString fullName(const QString &aGroup) const
+ {
+ if (mName.isEmpty()) {
+ return aGroup;
+ }
+ return fullName() + QLatin1Char('\x1d') + aGroup;
+ }
+
+ static QExplicitlySharedDataPointer<KConfigGroupPrivate> create(KConfigBase *master, const QString &name, bool isImmutable, bool isConst)
+ {
+ QExplicitlySharedDataPointer<KConfigGroupPrivate> data;
+ if (dynamic_cast<KConfigGroup *>(master)) {
+ data = new KConfigGroupPrivate(static_cast<KConfigGroup *>(master), isImmutable, isConst, name);
+ } else {
+ data = new KConfigGroupPrivate(dynamic_cast<KConfig *>(master), isImmutable, isConst, name);
+ }
+ return data;
+ }
+
+ static QByteArray serializeList(const QList<QByteArray> &list);
+ static QStringList deserializeList(const QString &data);
+};
+
+QByteArray KConfigGroupPrivate::serializeList(const QList<QByteArray> &list)
+{
+ QByteArray value;
+
+ if (!list.isEmpty()) {
+ auto it = list.cbegin();
+ const auto end = list.cend();
+
+ value = QByteArray(*it).replace('\\', QByteArrayLiteral("\\\\")).replace(',', QByteArrayLiteral("\\,"));
+
+ while (++it != end) {
+ // In the loop, so it is not done when there is only one element.
+ // Doing it repeatedly is a pretty cheap operation.
+ value.reserve(4096);
+
+ value += ',';
+ value += QByteArray(*it).replace('\\', QByteArrayLiteral("\\\\")).replace(',', QByteArrayLiteral("\\,"));
+ }
+
+ // To be able to distinguish an empty list from a list with one empty element.
+ if (value.isEmpty()) {
+ value = QByteArrayLiteral("\\0");
+ }
+ }
+
+ return value;
+}
+
+QStringList KConfigGroupPrivate::deserializeList(const QString &data)
+{
+ if (data.isEmpty()) {
+ return QStringList();
+ }
+ if (data == QLatin1String("\\0")) {
+ return QStringList(QString());
+ }
+ QStringList value;
+ QString val;
+ val.reserve(data.size());
+ bool quoted = false;
+ for (int p = 0; p < data.length(); p++) {
+ if (quoted) {
+ val += data[p];
+ quoted = false;
+ } else if (data[p].unicode() == '\\') {
+ quoted = true;
+ } else if (data[p].unicode() == ',') {
+ val.squeeze(); // release any unused memory
+ value.append(val);
+ val.clear();
+ val.reserve(data.size() - p);
+ } else {
+ val += data[p];
+ }
+ }
+ value.append(val);
+ return value;
+}
+
+static QVarLengthArray<int, 8> asIntList(QByteArrayView string)
+{
+ int start = 0;
+ int next = start;
+ QVarLengthArray<int, 8> ret;
+ while ((next = string.indexOf(',', start)) != -1) {
+ ret.push_back(string.sliced(start, next - start).toInt());
+ start = next + 1;
+ }
+ ret.push_back(string.sliced(start, string.size() - start).toInt());
+ return ret;
+}
+
+static QVarLengthArray<qreal, 8> asRealList(QByteArrayView string)
+{
+ int start = 0;
+ int next = start;
+ QVarLengthArray<qreal, 8> ret;
+ while ((next = string.indexOf(',', start)) != -1) {
+ ret.push_back(string.sliced(start, next - start).toDouble());
+ start = next + 1;
+ }
+ ret.push_back(string.sliced(start, string.size() - start).toDouble());
+ return ret;
+}
+
+static QString errString(const char *pKey, const QByteArray &value, const QVariant &aDefault)
+{
+ return QStringLiteral("\"%1\" - conversion of \"%3\" to %2 failed")
+ .arg(QString::fromLatin1(pKey), QString::fromLatin1(aDefault.typeName()), QString::fromLatin1(value));
+}
+
+static QString formatError(int expected, int got)
+{
+ return QStringLiteral(" (wrong format: expected %1 items, got %2)").arg(expected).arg(got);
+}
+
+QVariant KConfigGroup::convertToQVariant(const char *pKey, const QByteArray &value, const QVariant &aDefault)
+{
+ // if a type handler is added here you must add a QVConversions definition
+ // to kconfigconversioncheck_p.h, or KConfigConversionCheck::to_QVariant will not allow
+ // readEntry<T> to convert to QVariant.
+ switch (static_cast<QMetaType::Type>(aDefault.userType())) {
+ case QMetaType::UnknownType:
+ return QVariant();
+ case QMetaType::QString:
+ // this should return the raw string not the dollar expanded string.
+ // imho if processed string is wanted should call
+ // readEntry(key, QString) not readEntry(key, QVariant)
+ return QString::fromUtf8(value);
+ case QMetaType::QUuid:
+ return QUuid::fromString(value);
+ case QMetaType::QVariantList:
+ case QMetaType::QStringList:
+ return KConfigGroupPrivate::deserializeList(QString::fromUtf8(value));
+ case QMetaType::QByteArray:
+ return value;
+ case QMetaType::Bool: {
+ static const std::array<const char *, 4> negatives = {"false", "no", "off", "0"};
+
+ return std::all_of(negatives.begin(), negatives.end(), [value](const char *negativeString) {
+ return value.compare(negativeString, Qt::CaseInsensitive) != 0;
+ });
+ }
+ case QMetaType::Double:
+ case QMetaType::Float:
+ case QMetaType::Int:
+ case QMetaType::UInt:
+ case QMetaType::LongLong:
+ case QMetaType::ULongLong: {
+ QVariant tmp = value;
+ if (!tmp.convert(aDefault.metaType())) {
+ tmp = aDefault;
+ }
+ return tmp;
+ }
+ case QMetaType::QPoint: {
+ const auto list = asIntList(value);
+
+ if (list.count() != 2) {
+ qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault) << formatError(2, list.count());
+ return aDefault;
+ }
+ return QPoint(list.at(0), list.at(1));
+ }
+ case QMetaType::QPointF: {
+ const auto list = asRealList(value);
+
+ if (list.count() != 2) {
+ qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault) << formatError(2, list.count());
+ return aDefault;
+ }
+ return QPointF(list.at(0), list.at(1));
+ }
+ case QMetaType::QRect: {
+ const auto list = asIntList(value);
+
+ if (list.count() != 4) {
+ qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault) << formatError(4, list.count());
+ return aDefault;
+ }
+ const QRect rect(list.at(0), list.at(1), list.at(2), list.at(3));
+ if (!rect.isValid()) {
+ qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault);
+ return aDefault;
+ }
+ return rect;
+ }
+ case QMetaType::QRectF: {
+ const auto list = asRealList(value);
+
+ if (list.count() != 4) {
+ qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault) << formatError(4, list.count());
+ return aDefault;
+ }
+ const QRectF rect(list.at(0), list.at(1), list.at(2), list.at(3));
+ if (!rect.isValid()) {
+ qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault);
+ return aDefault;
+ }
+ return rect;
+ }
+ case QMetaType::QSize: {
+ const auto list = asIntList(value);
+
+ if (list.count() != 2) {
+ qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault) << formatError(2, list.count());
+ return aDefault;
+ }
+ const QSize size(list.at(0), list.at(1));
+ if (!size.isValid()) {
+ qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault);
+ return aDefault;
+ }
+ return size;
+ }
+ case QMetaType::QSizeF: {
+ const auto list = asRealList(value);
+
+ if (list.count() != 2) {
+ qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault) << formatError(2, list.count());
+ return aDefault;
+ }
+ const QSizeF size(list.at(0), list.at(1));
+ if (!size.isValid()) {
+ qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault);
+ return aDefault;
+ }
+ return size;
+ }
+ case QMetaType::QDateTime: {
+ const auto list = asRealList(value);
+ if (list.count() < 6) {
+ qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault) << formatError(6, list.count());
+ return aDefault;
+ }
+ const QDate date(list.at(0), list.at(1), list.at(2));
+ const qreal totalSeconds = list.at(5);
+ qreal seconds;
+ const qreal fractional = modf(totalSeconds, &seconds);
+ const qreal milliseconds = round(fractional * 1000.0);
+ const QTime time(list.at(3), list.at(4), seconds, milliseconds);
+ const QDateTime dt(date, time);
+ if (!dt.isValid()) {
+ qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault);
+ return aDefault;
+ }
+ return dt;
+ }
+ case QMetaType::QDate: {
+ auto list = asIntList(value);
+ // list.count == 6 -> don't break config files that stored QDate as QDateTime
+ if (list.count() != 3 && list.count() != 6) {
+ qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault) << formatError(3, list.count());
+ return aDefault;
+ }
+ const QDate date(list.at(0), list.at(1), list.at(2));
+ if (!date.isValid()) {
+ qCWarning(KCONFIG_CORE_LOG) << errString(pKey, value, aDefault);
+ return aDefault;
+ }
+ return date;
+ }
+ case QMetaType::QColor:
+ case QMetaType::QFont:
+ qCWarning(KCONFIG_CORE_LOG) << "KConfigGroup::readEntry was passed GUI type '" << aDefault.typeName()
+ << "' but KConfigGui isn't linked! If it is linked to your program, "
+ "this is a platform bug. Please inform the KDE developers";
+ break;
+ case QMetaType::QUrl:
+ return QUrl(QString::fromUtf8(value));
+
+ default:
+ break;
+ }
+
+ qCWarning(KCONFIG_CORE_LOG) << "unhandled type " << aDefault.typeName();
+ return QVariant();
+}
+
+static bool cleanHomeDirPath(QString &path, const QString &homeDir)
+{
+#ifdef Q_OS_WIN // safer
+ if (!QDir::toNativeSeparators(path).startsWith(QDir::toNativeSeparators(homeDir))) {
+ return false;
+ }
+#else
+ if (!path.startsWith(homeDir)) {
+ return false;
+ }
+#endif
+
+ int len = homeDir.length();
+ // replace by "$HOME" if possible
+ if (len && (path.length() == len || path[len] == QLatin1Char('/'))) {
+ path.replace(0, len, QStringLiteral("$HOME"));
+ return true;
+ }
+
+ return false;
+}
+
+static QString translatePath(QString path) // krazy:exclude=passbyvalue
+{
+ if (path.isEmpty()) {
+ return path;
+ }
+
+ // only "our" $HOME should be interpreted
+ path.replace(QLatin1Char('$'), QLatin1String("$$"));
+
+ const bool startsWithFile = path.startsWith(QLatin1String("file:"), Qt::CaseInsensitive);
+ path = startsWithFile ? QUrl(path).toLocalFile() : path;
+
+ if (QDir::isRelativePath(path)) {
+ return path;
+ }
+
+ // Use the same thing as what expandString() will do, to keep data intact
+#ifdef Q_OS_WIN
+ const QString homeDir = QDir::homePath();
+#else
+ const QString homeDir = QFile::decodeName(qgetenv("HOME"));
+#endif
+ (void)cleanHomeDirPath(path, homeDir);
+
+ if (startsWithFile) {
+ path = QUrl::fromLocalFile(path).toString();
+ }
+
+ return path;
+}
+
+KConfigGroup::KConfigGroup()
+ : d()
+{
+}
+
+bool KConfigGroup::isValid() const
+{
+ return bool(d);
+}
+
+KConfigGroupGui _kde_internal_KConfigGroupGui;
+static inline bool readEntryGui(const QByteArray &data, const char *key, const QVariant &input, QVariant &output)
+{
+ if (_kde_internal_KConfigGroupGui.readEntryGui) {
+ return _kde_internal_KConfigGroupGui.readEntryGui(data, key, input, output);
+ }
+ return false;
+}
+
+static inline bool writeEntryGui(KConfigGroup *cg, const char *key, const QVariant &input, KConfigGroup::WriteConfigFlags flags)
+{
+ if (_kde_internal_KConfigGroupGui.writeEntryGui) {
+ return _kde_internal_KConfigGroupGui.writeEntryGui(cg, key, input, flags);
+ }
+ return false;
+}
+
+KConfigGroup::KConfigGroup(KConfigBase *master, const QString &_group)
+ : d(KConfigGroupPrivate::create(master, _group, master->isGroupImmutable(_group), false))
+{
+}
+
+KConfigGroup::KConfigGroup(const KConfigBase *master, const QString &_group)
+ : d(KConfigGroupPrivate::create(const_cast<KConfigBase *>(master), _group, master->isGroupImmutable(_group), true))
+{
+}
+
+KConfigGroup::KConfigGroup(const KSharedConfigPtr &master, const QString &_group)
+ : d(new KConfigGroupPrivate(master, _group))
+{
+}
+
+KConfigGroup &KConfigGroup::operator=(const KConfigGroup &rhs)
+{
+ d = rhs.d;
+ return *this;
+}
+
+KConfigGroup::KConfigGroup(const KConfigGroup &rhs)
+ : d(rhs.d)
+{
+}
+
+KConfigGroup::~KConfigGroup()
+{
+ d.reset();
+}
+
+KConfigGroup KConfigGroup::groupImpl(const QString &aGroup)
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::groupImpl", "accessing an invalid group");
+ Q_ASSERT_X(!aGroup.isEmpty(), "KConfigGroup::groupImpl", "can not have an unnamed child group");
+
+ KConfigGroup newGroup;
+
+ newGroup.d = new KConfigGroupPrivate(this, isGroupImmutableImpl(aGroup), d->bConst, aGroup);
+
+ return newGroup;
+}
+
+const KConfigGroup KConfigGroup::groupImpl(const QString &aGroup) const
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::groupImpl", "accessing an invalid group");
+ Q_ASSERT_X(!aGroup.isEmpty(), "KConfigGroup::groupImpl", "can not have an unnamed child group");
+
+ KConfigGroup newGroup;
+
+ newGroup.d = new KConfigGroupPrivate(const_cast<KConfigGroup *>(this), isGroupImmutableImpl(aGroup), true, aGroup);
+
+ return newGroup;
+}
+
+KConfigGroup KConfigGroup::parent() const
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::parent", "accessing an invalid group");
+
+ KConfigGroup parentGroup;
+
+ if (d->mParent) {
+ parentGroup.d = d->mParent;
+ } else {
+ parentGroup.d = new KConfigGroupPrivate(d->mOwner, d->mOwner->isImmutable(), d->bConst, QString());
+ // make sure we keep the refcount up on the KConfig object
+ parentGroup.d->sOwner = d->sOwner;
+ }
+
+ return parentGroup;
+}
+
+void KConfigGroup::deleteGroup(WriteConfigFlags flags)
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::deleteGroup", "accessing an invalid group");
+ Q_ASSERT_X(!d->bConst, "KConfigGroup::deleteGroup", "deleting a read-only group");
+
+ config()->deleteGroup(d->fullName(), flags);
+}
+
+QString KConfigGroup::name() const
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::name", "accessing an invalid group");
+
+ return d->name();
+}
+
+bool KConfigGroup::exists() const
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::exists", "accessing an invalid group");
+
+ return config()->hasGroup(d->fullName());
+}
+
+bool KConfigGroup::sync()
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::sync", "accessing an invalid group");
+
+ if (!d->bConst) {
+ return config()->sync();
+ }
+
+ return false;
+}
+
+QMap<QString, QString> KConfigGroup::entryMap() const
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::entryMap", "accessing an invalid group");
+
+ return config()->entryMap(d->fullName());
+}
+
+KConfig *KConfigGroup::config()
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::config", "accessing an invalid group");
+
+ return d->mOwner;
+}
+
+const KConfig *KConfigGroup::config() const
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::config", "accessing an invalid group");
+
+ return d->mOwner;
+}
+
+bool KConfigGroup::isEntryImmutable(const char *key) const
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::isEntryImmutable", "accessing an invalid group");
+
+ return (isImmutable() || !config()->d_func()->canWriteEntry(d->fullName(), key, config()->readDefaults()));
+}
+
+bool KConfigGroup::isEntryImmutable(const QString &key) const
+{
+ return isEntryImmutable(key.toUtf8().constData());
+}
+
+QString KConfigGroup::readEntryUntranslated(const QString &pKey, const QString &aDefault) const
+{
+ return readEntryUntranslated(pKey.toUtf8().constData(), aDefault);
+}
+
+QString KConfigGroup::readEntryUntranslated(const char *key, const QString &aDefault) const
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::readEntryUntranslated", "accessing an invalid group");
+
+ QString result = config()->d_func()->lookupData(d->fullName(), key, KEntryMap::SearchFlags(), nullptr);
+ if (result.isNull()) {
+ return aDefault;
+ }
+ return result;
+}
+
+QString KConfigGroup::readEntry(const char *key, const char *aDefault) const
+{
+ return readEntry(key, QString::fromUtf8(aDefault));
+}
+
+QString KConfigGroup::readEntry(const QString &key, const char *aDefault) const
+{
+ return readEntry(key.toUtf8().constData(), aDefault);
+}
+
+QString KConfigGroup::readEntry(const char *key, const QString &aDefault) const
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::readEntry", "accessing an invalid group");
+
+ bool expand = false;
+
+ // read value from the entry map
+ QString aValue = config()->d_func()->lookupData(d->fullName(), key, KEntryMap::SearchLocalized, &expand);
+ if (aValue.isNull()) {
+ aValue = aDefault;
+ }
+
+ if (expand) {
+ return KConfigPrivate::expandString(aValue);
+ }
+
+ return aValue;
+}
+
+QString KConfigGroup::readEntry(const QString &key, const QString &aDefault) const
+{
+ return readEntry(key.toUtf8().constData(), aDefault);
+}
+
+QStringList KConfigGroup::readEntry(const char *key, const QStringList &aDefault) const
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::readEntry", "accessing an invalid group");
+
+ const QString data = readEntry(key, QString());
+ if (data.isNull()) {
+ return aDefault;
+ }
+
+ return KConfigGroupPrivate::deserializeList(data);
+}
+
+QStringList KConfigGroup::readEntry(const QString &key, const QStringList &aDefault) const
+{
+ return readEntry(key.toUtf8().constData(), aDefault);
+}
+
+QVariant KConfigGroup::readEntry(const char *key, const QVariant &aDefault) const
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::readEntry", "accessing an invalid group");
+
+ const QByteArray data = config()->d_func()->lookupData(d->fullName(), key, KEntryMap::SearchLocalized);
+ if (data.isNull()) {
+ return aDefault;
+ }
+
+ QVariant value;
+ if (!readEntryGui(data, key, aDefault, value)) {
+ return convertToQVariant(key, data, aDefault);
+ }
+
+ return value;
+}
+
+QVariant KConfigGroup::readEntry(const QString &key, const QVariant &aDefault) const
+{
+ return readEntry(key.toUtf8().constData(), aDefault);
+}
+
+QVariantList KConfigGroup::readEntry(const char *key, const QVariantList &aDefault) const
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::readEntry", "accessing an invalid group");
+
+ const QString data = readEntry(key, QString());
+ if (data.isNull()) {
+ return aDefault;
+ }
+
+ const auto &list = KConfigGroupPrivate::deserializeList(data);
+
+ QVariantList value;
+ value.reserve(list.count());
+ for (const QString &v : list) {
+ value << v;
+ }
+
+ return value;
+}
+
+QVariantList KConfigGroup::readEntry(const QString &key, const QVariantList &aDefault) const
+{
+ return readEntry(key.toUtf8().constData(), aDefault);
+}
+
+QStringList KConfigGroup::readXdgListEntry(const QString &key, const QStringList &aDefault) const
+{
+ return readXdgListEntry(key.toUtf8().constData(), aDefault);
+}
+
+QStringList KConfigGroup::readXdgListEntry(const char *key, const QStringList &aDefault) const
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::readXdgListEntry", "accessing an invalid group");
+
+ const QString data = readEntry(key, QString());
+ if (data.isNull()) {
+ return aDefault;
+ }
+
+ QStringList value;
+ QString val;
+ val.reserve(data.size());
+ // XXX List serialization being a separate layer from low-level parsing is
+ // probably a bug. No affected entries are defined, though.
+ bool quoted = false;
+ for (int p = 0; p < data.length(); p++) {
+ if (quoted) {
+ val += data[p];
+ quoted = false;
+ } else if (data[p] == QLatin1Char('\\')) {
+ quoted = true;
+ } else if (data[p] == QLatin1Char(';')) {
+ value.append(val);
+ val.clear();
+ val.reserve(data.size() - p);
+ } else {
+ val += data[p];
+ }
+ }
+ if (!val.isEmpty()) {
+ value.append(val);
+ }
+ return value;
+}
+
+QString KConfigGroup::readPathEntry(const QString &pKey, const QString &aDefault) const
+{
+ return readPathEntry(pKey.toUtf8().constData(), aDefault);
+}
+
+QString KConfigGroup::readPathEntry(const char *key, const QString &aDefault) const
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::readPathEntry", "accessing an invalid group");
+
+ bool expand = false;
+
+ QString aValue = config()->d_func()->lookupData(d->fullName(), key, KEntryMap::SearchLocalized, &expand);
+ if (aValue.isNull()) {
+ aValue = aDefault;
+ }
+
+ return KConfigPrivate::expandString(aValue);
+}
+
+QStringList KConfigGroup::readPathEntry(const QString &pKey, const QStringList &aDefault) const
+{
+ return readPathEntry(pKey.toUtf8().constData(), aDefault);
+}
+
+QStringList KConfigGroup::readPathEntry(const char *key, const QStringList &aDefault) const
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::readPathEntry", "accessing an invalid group");
+
+ const QString data = readPathEntry(key, QString());
+ if (data.isNull()) {
+ return aDefault;
+ }
+
+ return KConfigGroupPrivate::deserializeList(data);
+}
+
+void KConfigGroup::writeEntry(const char *key, const QString &value, WriteConfigFlags flags)
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::writeEntry", "accessing an invalid group");
+ Q_ASSERT_X(!d->bConst, "KConfigGroup::writeEntry", "writing to a read-only group");
+
+ writeEntry(key, value.toUtf8(), flags);
+}
+
+void KConfigGroup::writeEntry(const QString &key, const QString &value, WriteConfigFlags flags)
+{
+ writeEntry(key.toUtf8().constData(), value, flags);
+}
+
+void KConfigGroup::writeEntry(const QString &key, const char *value, WriteConfigFlags pFlags)
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::writeEntry", "accessing an invalid group");
+ Q_ASSERT_X(!d->bConst, "KConfigGroup::writeEntry", "writing to a read-only group");
+
+ writeEntry(key.toUtf8().constData(), QVariant(QString::fromLatin1(value)), pFlags);
+}
+
+void KConfigGroup::writeEntry(const char *key, const char *value, WriteConfigFlags pFlags)
+{
+ writeEntry(key, QVariant(QString::fromLatin1(value)), pFlags);
+}
+
+void KConfigGroup::writeEntry(const char *key, const QByteArray &value, WriteConfigFlags flags)
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::writeEntry", "accessing an invalid group");
+ Q_ASSERT_X(!d->bConst, "KConfigGroup::writeEntry", "writing to a read-only group");
+
+ config()->d_func()->putData(d->fullName(), key, value.isNull() ? QByteArray("") : value, flags);
+}
+
+void KConfigGroup::writeEntry(const QString &key, const QByteArray &value, WriteConfigFlags pFlags)
+{
+ writeEntry(key.toUtf8().constData(), value, pFlags);
+}
+
+void KConfigGroup::writeEntry(const char *key, const QStringList &list, WriteConfigFlags flags)
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::writeEntry", "accessing an invalid group");
+ Q_ASSERT_X(!d->bConst, "KConfigGroup::writeEntry", "writing to a read-only group");
+
+ QList<QByteArray> balist;
+ balist.reserve(list.count());
+
+ for (const QString &entry : list) {
+ balist.append(entry.toUtf8());
+ }
+
+ writeEntry(key, KConfigGroupPrivate::serializeList(balist), flags);
+}
+
+void KConfigGroup::writeEntry(const QString &key, const QStringList &list, WriteConfigFlags flags)
+{
+ writeEntry(key.toUtf8().constData(), list, flags);
+}
+
+void KConfigGroup::writeEntry(const char *key, const QVariantList &list, WriteConfigFlags flags)
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::writeEntry", "accessing an invalid group");
+ Q_ASSERT_X(!d->bConst, "KConfigGroup::writeEntry", "writing to a read-only group");
+
+ QList<QByteArray> data;
+ data.reserve(list.count());
+
+ for (const QVariant &v : list) {
+ if (v.userType() == QMetaType::QByteArray) {
+ data << v.toByteArray();
+ } else {
+ data << v.toString().toUtf8();
+ }
+ }
+
+ writeEntry(key, KConfigGroupPrivate::serializeList(data), flags);
+}
+
+void KConfigGroup::writeEntry(const char *key, const QVariant &value, WriteConfigFlags flags)
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::writeEntry", "accessing an invalid group");
+ Q_ASSERT_X(!d->bConst, "KConfigGroup::writeEntry", "writing to a read-only group");
+
+ if (writeEntryGui(this, key, value, flags)) {
+ return; // GUI type that was handled
+ }
+
+ QByteArray data;
+ // if a type handler is added here you must add a QVConversions definition
+ // to kconfigconversioncheck_p.h, or KConfigConversionCheck::to_QVariant will not allow
+ // writeEntry<T> to convert to QVariant.
+ switch (static_cast<QMetaType::Type>(value.userType())) {
+ case QMetaType::UnknownType:
+ data = "";
+ break;
+ case QMetaType::QByteArray:
+ data = value.toByteArray();
+ break;
+ case QMetaType::QString:
+ case QMetaType::Int:
+ case QMetaType::UInt:
+ case QMetaType::Double:
+ case QMetaType::Float:
+ case QMetaType::Bool:
+ case QMetaType::LongLong:
+ case QMetaType::ULongLong:
+ data = value.toString().toUtf8();
+ break;
+ case QMetaType::QVariantList:
+ if (!value.canConvert<QStringList>()) {
+ qCWarning(KCONFIG_CORE_LOG) << "not all types in \"" << key
+ << "\" can convert to QString,"
+ " information will be lost";
+ }
+ Q_FALLTHROUGH();
+ case QMetaType::QStringList:
+ writeEntry(key, value.toList(), flags);
+ return;
+ case QMetaType::QPoint: {
+ const QPoint rPoint = value.toPoint();
+
+ const QVariantList list{rPoint.x(), rPoint.y()};
+
+ writeEntry(key, list, flags);
+ return;
+ }
+ case QMetaType::QPointF: {
+ const QPointF point = value.toPointF();
+
+ const QVariantList list{point.x(), point.y()};
+
+ writeEntry(key, list, flags);
+ return;
+ }
+ case QMetaType::QRect: {
+ const QRect rRect = value.toRect();
+
+ const QVariantList list{rRect.left(), rRect.top(), rRect.width(), rRect.height()};
+
+ writeEntry(key, list, flags);
+ return;
+ }
+ case QMetaType::QRectF: {
+ const QRectF rRectF = value.toRectF();
+
+ const QVariantList list{rRectF.left(), rRectF.top(), rRectF.width(), rRectF.height()};
+
+ writeEntry(key, list, flags);
+ return;
+ }
+ case QMetaType::QSize: {
+ const QSize rSize = value.toSize();
+
+ const QVariantList list{rSize.width(), rSize.height()};
+
+ writeEntry(key, list, flags);
+ return;
+ }
+ case QMetaType::QUuid: {
+ writeEntry(key, value.toString(), flags);
+ return;
+ }
+ case QMetaType::QSizeF: {
+ const QSizeF rSizeF = value.toSizeF();
+
+ const QVariantList list{rSizeF.width(), rSizeF.height()};
+
+ writeEntry(key, list, flags);
+ return;
+ }
+ case QMetaType::QDate: {
+ const QDate date = value.toDate();
+
+ const QVariantList list{date.year(), date.month(), date.day()};
+
+ writeEntry(key, list, flags);
+ return;
+ }
+ case QMetaType::QDateTime: {
+ const QDateTime rDateTime = value.toDateTime();
+
+ const QTime time = rDateTime.time();
+ const QDate date = rDateTime.date();
+
+ const QVariantList list{
+ date.year(),
+ date.month(),
+ date.day(),
+
+ time.hour(),
+ time.minute(),
+ time.second() + time.msec() / 1000.0,
+ };
+
+ writeEntry(key, list, flags);
+ return;
+ }
+
+ case QMetaType::QColor:
+ case QMetaType::QFont:
+ qCWarning(KCONFIG_CORE_LOG) << "KConfigGroup::writeEntry was passed GUI type '" << value.typeName()
+ << "' but KConfigGui isn't linked! If it is linked to your program, this is a platform bug. "
+ "Please inform the KDE developers";
+ break;
+ case QMetaType::QUrl:
+ data = QUrl(value.toUrl()).toString().toUtf8();
+ break;
+ default:
+ qCWarning(KCONFIG_CORE_LOG) << "KConfigGroup::writeEntry - unhandled type" << value.typeName() << "in group" << name();
+ }
+
+ writeEntry(key, data, flags);
+}
+
+void KConfigGroup::writeEntry(const QString &key, const QVariant &value, WriteConfigFlags flags)
+{
+ writeEntry(key.toUtf8().constData(), value, flags);
+}
+
+void KConfigGroup::writeEntry(const QString &key, const QVariantList &list, WriteConfigFlags flags)
+{
+ writeEntry(key.toUtf8().constData(), list, flags);
+}
+
+void KConfigGroup::writeXdgListEntry(const QString &key, const QStringList &value, WriteConfigFlags pFlags)
+{
+ writeXdgListEntry(key.toUtf8().constData(), value, pFlags);
+}
+
+void KConfigGroup::writeXdgListEntry(const char *key, const QStringList &list, WriteConfigFlags flags)
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::writeXdgListEntry", "accessing an invalid group");
+ Q_ASSERT_X(!d->bConst, "KConfigGroup::writeXdgListEntry", "writing to a read-only group");
+
+ QString value;
+ value.reserve(4096);
+
+ // XXX List serialization being a separate layer from low-level escaping is
+ // probably a bug. No affected entries are defined, though.
+ for (QString val : list) { // clazy:exclude=range-loop
+ val.replace(QLatin1Char('\\'), QLatin1String("\\\\")).replace(QLatin1Char(';'), QLatin1String("\\;"));
+ value += val + QLatin1Char(';');
+ }
+
+ writeEntry(key, value, flags);
+}
+
+void KConfigGroup::writePathEntry(const QString &pKey, const QString &path, WriteConfigFlags pFlags)
+{
+ writePathEntry(pKey.toUtf8().constData(), path, pFlags);
+}
+
+void KConfigGroup::writePathEntry(const char *pKey, const QString &path, WriteConfigFlags pFlags)
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::writePathEntry", "accessing an invalid group");
+ Q_ASSERT_X(!d->bConst, "KConfigGroup::writePathEntry", "writing to a read-only group");
+
+ config()->d_func()->putData(d->fullName(), pKey, translatePath(path).toUtf8(), pFlags, true);
+}
+
+void KConfigGroup::writePathEntry(const QString &pKey, const QStringList &value, WriteConfigFlags pFlags)
+{
+ writePathEntry(pKey.toUtf8().constData(), value, pFlags);
+}
+
+void KConfigGroup::writePathEntry(const char *pKey, const QStringList &value, WriteConfigFlags pFlags)
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::writePathEntry", "accessing an invalid group");
+ Q_ASSERT_X(!d->bConst, "KConfigGroup::writePathEntry", "writing to a read-only group");
+
+ QList<QByteArray> list;
+ list.reserve(value.length());
+ for (const QString &path : value) {
+ list << translatePath(path).toUtf8();
+ }
+
+ config()->d_func()->putData(d->fullName(), pKey, KConfigGroupPrivate::serializeList(list), pFlags, true);
+}
+
+void KConfigGroup::deleteEntry(const char *key, WriteConfigFlags flags)
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::deleteEntry", "accessing an invalid group");
+ Q_ASSERT_X(!d->bConst, "KConfigGroup::deleteEntry", "deleting from a read-only group");
+
+ config()->d_func()->putData(d->fullName(), key, QByteArray(), flags);
+}
+
+void KConfigGroup::deleteEntry(const QString &key, WriteConfigFlags flags)
+{
+ deleteEntry(key.toUtf8().constData(), flags);
+}
+
+void KConfigGroup::revertToDefault(const char *key, WriteConfigFlags flags)
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::revertToDefault", "accessing an invalid group");
+ Q_ASSERT_X(!d->bConst, "KConfigGroup::revertToDefault", "writing to a read-only group");
+
+ config()->d_func()->revertEntry(d->fullName(), key, flags);
+}
+
+void KConfigGroup::revertToDefault(const QString &key, WriteConfigFlags flags)
+{
+ revertToDefault(key.toUtf8().constData(), flags);
+}
+
+bool KConfigGroup::hasDefault(const char *key) const
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::hasDefault", "accessing an invalid group");
+
+ KEntryMap::SearchFlags flags = KEntryMap::SearchDefaults | KEntryMap::SearchLocalized;
+
+ return !config()->d_func()->lookupData(d->fullName(), key, flags).isNull();
+}
+
+bool KConfigGroup::hasDefault(const QString &key) const
+{
+ return hasDefault(key.toUtf8().constData());
+}
+
+bool KConfigGroup::hasKey(const char *key) const
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::hasKey", "accessing an invalid group");
+
+ KEntryMap::SearchFlags flags = KEntryMap::SearchLocalized;
+ if (config()->readDefaults()) {
+ flags |= KEntryMap::SearchDefaults;
+ }
+
+ return !config()->d_func()->lookupData(d->fullName(), key, flags).isNull();
+}
+
+bool KConfigGroup::hasKey(const QString &key) const
+{
+ return hasKey(key.toUtf8().constData());
+}
+
+bool KConfigGroup::isImmutable() const
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::isImmutable", "accessing an invalid group");
+
+ return d->bImmutable;
+}
+
+QStringList KConfigGroup::groupList() const
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::groupList", "accessing an invalid group");
+
+ return config()->d_func()->groupList(d->fullName());
+}
+
+QStringList KConfigGroup::keyList() const
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::keyList", "accessing an invalid group");
+
+ return config()->d_func()->usedKeyList(d->fullName());
+}
+
+void KConfigGroup::markAsClean()
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::markAsClean", "accessing an invalid group");
+
+ config()->markAsClean();
+}
+
+KConfigGroup::AccessMode KConfigGroup::accessMode() const
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::accessMode", "accessing an invalid group");
+
+ return config()->accessMode();
+}
+
+bool KConfigGroup::hasGroupImpl(const QString &b) const
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::hasGroupImpl", "accessing an invalid group");
+
+ return config()->hasGroup(d->fullName(b));
+}
+
+void KConfigGroup::deleteGroupImpl(const QString &b, WriteConfigFlags flags)
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::deleteGroupImpl", "accessing an invalid group");
+ Q_ASSERT_X(!d->bConst, "KConfigGroup::deleteGroupImpl", "deleting from a read-only group");
+
+ config()->deleteGroup(d->fullName(b), flags);
+}
+
+bool KConfigGroup::isGroupImmutableImpl(const QString &groupName) const
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::isGroupImmutableImpl", "accessing an invalid group");
+
+ if (!hasGroupImpl(groupName)) { // group doesn't exist yet
+ return d->bImmutable; // child groups are immutable if the parent is immutable.
+ }
+
+ return config()->isGroupImmutable(d->fullName(groupName));
+}
+
+void KConfigGroup::copyTo(KConfigBase *other, WriteConfigFlags pFlags) const
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::copyTo", "accessing an invalid group");
+ Q_ASSERT(other != nullptr);
+
+ if (KConfigGroup *otherGroup = dynamic_cast<KConfigGroup *>(other)) {
+ config()->d_func()->copyGroup(d->fullName(), otherGroup->d->fullName(), otherGroup, pFlags);
+ } else if (KConfig *otherConfig = dynamic_cast<KConfig *>(other)) {
+ KConfigGroup newGroup = otherConfig->group(d->fullName());
+ otherConfig->d_func()->copyGroup(d->fullName(), d->fullName(), &newGroup, pFlags);
+ } else {
+ Q_ASSERT_X(false, "KConfigGroup::copyTo", "unknown type of KConfigBase");
+ }
+}
+
+void KConfigGroup::reparent(KConfigBase *parent, WriteConfigFlags pFlags)
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::reparent", "accessing an invalid group");
+ Q_ASSERT_X(!d->bConst, "KConfigGroup::reparent", "reparenting a read-only group");
+ Q_ASSERT_X(!d->bImmutable, "KConfigGroup::reparent", "reparenting an immutable group");
+ Q_ASSERT(parent != nullptr);
+
+ KConfigGroup oldGroup(*this);
+
+ d = KConfigGroupPrivate::create(parent, d->mName, false, false);
+ oldGroup.copyTo(this, pFlags);
+ oldGroup.deleteGroup(); // so that the entries with the old group name are deleted on sync
+}
+
+void KConfigGroup::moveValue(const char *key, KConfigGroup &other, WriteConfigFlags pFlags)
+{
+ const QString groupName = name();
+ const auto entry = config()->d_ptr->lookupInternalEntry(groupName, key, KEntryMap::SearchLocalized);
+
+ // Only write the entry if it is not null, if it is a global enry there is no point in moving it
+ if (!entry.mValue.isNull() && !entry.bGlobal) {
+ deleteEntry(key, pFlags);
+ KEntryMap::EntryOptions options = KEntryMap::EntryOption::EntryDirty;
+ if (entry.bDeleted) {
+ options |= KEntryMap::EntryDeleted;
+ }
+
+ if (entry.bExpand) {
+ options |= KEntryMap::EntryExpansion;
+ }
+
+ other.config()->d_ptr->setEntryData(other.name(), key, entry.mValue, options);
+ }
+}
+
+void KConfigGroup::moveValuesTo(const QList<const char *> &keys, KConfigGroup &other, WriteConfigFlags pFlags)
+{
+ Q_ASSERT(isValid());
+ Q_ASSERT(other.isValid());
+
+ for (const auto key : keys) {
+ moveValue(key, other, pFlags);
+ }
+}
+
+void KConfigGroup::moveValuesTo(KConfigGroup &other, WriteConfigFlags pFlags)
+{
+ Q_ASSERT(isValid());
+ Q_ASSERT(other.isValid());
+
+ const QStringList keys = keyList();
+ for (const QString &key : keys) {
+ moveValue(key.toUtf8().constData(), other, pFlags);
+ }
+}
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2006, 2007 Thomas Braxton <kde.braxton@gmail.com>
+ SPDX-FileCopyrightText: 1999 Preston Brown <pbrown@kde.org>
+ SPDX-FileCopyrightText: 1997 Matthias Kalle Dalheimer <kalle@kde.org>
+ SPDX-FileCopyrightText: 2001 Waldo Bastian <bastian@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGGROUP_H
+#define KCONFIGGROUP_H
+
+#include "kconfigbase.h"
+
+#include <kconfigcore_export.h>
+
+#include <QExplicitlySharedDataPointer>
+#include <QStringList>
+#include <QVariant>
+
+class KConfig;
+class KConfigGroupPrivate;
+class KSharedConfig;
+
+/**
+ * \class KConfigGroup kconfiggroup.h <KConfigGroup>
+ *
+ * A class for one specific group in a KConfig object.
+ *
+ * If you want to access the top-level entries of a KConfig
+ * object, which are not associated with any group, use an
+ * empty group name.
+ *
+ * A KConfigGroup will be read-only if it is constructed from a
+ * const config object or from another read-only group.
+ */
+class KCONFIGCORE_EXPORT KConfigGroup : public KConfigBase
+{
+public:
+ /**
+ * Constructs an invalid group.
+ *
+ * \see isValid
+ */
+ KConfigGroup();
+
+ /**
+ * Construct a config group corresponding to @p group in @p master.
+ *
+ * This allows the creation of subgroups by passing another
+ * group as @p master.
+ *
+ * @param group name of group
+ */
+ KConfigGroup(KConfigBase *master, const QString &group);
+
+ /**
+ * Construct a read-only config group.
+ *
+ * A read-only group will silently ignore any attempts to write to it.
+ *
+ * This allows the creation of subgroups by passing an existing group
+ * as @p master.
+ */
+ KConfigGroup(const KConfigBase *master, const QString &group);
+
+ /** Overload for KConfigGroup(const KConfigBase*,const QString&) */
+ KConfigGroup(const QExplicitlySharedDataPointer<KSharedConfig> &master, const QString &group);
+
+ /**
+ * Creates a copy of a group.
+ */
+ KConfigGroup(const KConfigGroup &);
+ KConfigGroup &operator=(const KConfigGroup &);
+
+ ~KConfigGroup() override;
+
+ /**
+ * Whether the group is valid.
+ *
+ * A group is invalid if it was constructed without arguments.
+ *
+ * You should not call any functions on an invalid group.
+ *
+ * @return @c true if the group is valid, @c false if it is invalid.
+ */
+ bool isValid() const;
+
+ /**
+ * The name of this group.
+ *
+ * The root group is named "<default>".
+ */
+ QString name() const;
+
+ /**
+ * Check whether the containing KConfig object actually contains a
+ * group with this name.
+ */
+ bool exists() const;
+
+ /**
+ * @reimp
+ *
+ * Syncs the parent config.
+ */
+ bool sync() override;
+
+ /// @reimp
+ void markAsClean() override;
+
+ /// @reimp
+ AccessMode accessMode() const override;
+
+ /**
+ * Return the config object that this group belongs to
+ */
+ KConfig *config();
+ /**
+ * Return the config object that this group belongs to
+ */
+ const KConfig *config() const;
+
+ /**
+ * Copies the entries in this group to another configuration object
+ *
+ * @note @p other can be either another group or a different file.
+ *
+ * @param other the configuration object to copy this group's entries to
+ * @param pFlags the flags to use when writing the entries to the
+ * other configuration object
+ *
+ * @since 4.1
+ */
+ void copyTo(KConfigBase *other, WriteConfigFlags pFlags = Normal) const;
+
+ /**
+ * Changes the configuration object that this group belongs to
+ *
+ * @note @p other can be another group, the top-level KConfig object or
+ * a different KConfig object entirely.
+ *
+ * If @p parent is already the parent of this group, this method will have
+ * no effect.
+ *
+ * @param parent the config object to place this group under
+ * @param pFlags the flags to use in determining which storage source to
+ * write the data to
+ *
+ * @since 4.1
+ */
+ void reparent(KConfigBase *parent, WriteConfigFlags pFlags = Normal);
+
+ /**
+ * Moves the key-value pairs from one config group to the other.
+ * In case the entries do not exist the key is ignored.
+ *
+ * @since 5.88
+ */
+ void moveValuesTo(const QList<const char *> &keys, KConfigGroup &other, WriteConfigFlags pFlags = Normal);
+
+ /**
+ * Moves the key-value pairs from one config group to the other.
+ *
+ * @since 6.3
+ */
+ void moveValuesTo(KConfigGroup &other, WriteConfigFlags pFlags = Normal);
+
+ /**
+ * Returns the group that this group belongs to
+ *
+ * @return the parent group, or an invalid group if this is a top-level
+ * group
+ *
+ * @since 4.1
+ */
+ KConfigGroup parent() const;
+
+ /**
+ * @reimp
+ */
+ QStringList groupList() const override;
+
+ /**
+ * Returns a list of keys this group contains
+ */
+ QStringList keyList() const;
+
+ /**
+ * Delete all entries in the entire group
+ *
+ * @param pFlags flags passed to KConfig::deleteGroup
+ *
+ * @see deleteEntry()
+ */
+ void deleteGroup(WriteConfigFlags pFlags = Normal);
+ using KConfigBase::deleteGroup;
+
+ /**
+ * Reads the value of an entry specified by @p pKey in the current group
+ *
+ * This template method makes it possible to write
+ * QString foo = readEntry("...", QString("default"));
+ * and the same with all other types supported by QVariant.
+ *
+ * The return type of the method is simply the same as the type of the default value.
+ *
+ * @note readEntry("...", Qt::white) will not compile because Qt::white is an enum.
+ * You must turn it into readEntry("...", QColor(Qt::white)).
+ *
+ * @note Only the following QVariant types are allowed : String,
+ * StringList, List, Font, Point, PointF, Rect, RectF, Size, SizeF, Color, Int, UInt, Bool,
+ * Double, LongLong, ULongLong, DateTime and Date.
+ *
+ * @param key The key to search for
+ * @param aDefault A default value returned if the key was not found
+ * @return The value for this key, or @p aDefault.
+ *
+ * @see writeEntry(), deleteEntry(), hasKey()
+ */
+ template<typename T>
+ T readEntry(const QString &key, const T &aDefault) const
+ {
+ return readEntry(key.toUtf8().constData(), aDefault);
+ }
+ /**
+ * Overload for readEntry<T>(const QString&, const T&) const
+ * @param key name of key, encoded in UTF-8
+ */
+ template<typename T>
+ T readEntry(const char *key, const T &aDefault) const;
+
+ /**
+ * Reads the value of an entry specified by @p key in the current group
+ *
+ * @param key the key to search for
+ * @param aDefault a default value returned if the key was not found
+ * @return the value for this key, or @p aDefault if the key was not found
+ *
+ * @see writeEntry(), deleteEntry(), hasKey()
+ */
+ QVariant readEntry(const QString &key, const QVariant &aDefault) const;
+ /**
+ * Overload for readEntry(const QString&, const QVariant&) const
+ * @param key name of key, encoded in UTF-8
+ */
+ QVariant readEntry(const char *key, const QVariant &aDefault) const;
+
+ /**
+ * Reads the string value of an entry specified by @p key in the current group
+ *
+ * If you want to read a path, please use readPathEntry().
+ *
+ * @param key the key to search for
+ * @param aDefault a default value returned if the key was not found
+ * @return the value for this key, or @p aDefault if the key was not found
+ *
+ * @see readPathEntry(), writeEntry(), deleteEntry(), hasKey()
+ */
+ QString readEntry(const QString &key, const QString &aDefault) const;
+ /**
+ * Overload for readEntry(const QString&, const QString&) const
+ * @param key name of key, encoded in UTF-8
+ */
+ QString readEntry(const char *key, const QString &aDefault) const;
+
+ /** Overload for readEntry(const QString&, const QString&) const */
+ QString readEntry(const QString &key, const char *aDefault = nullptr) const;
+ /**
+ * Overload for readEntry(const QString&, const QString&) const
+ * @param key name of key, encoded in UTF-8
+ */
+ QString readEntry(const char *key, const char *aDefault = nullptr) const;
+
+ /**
+ * @copydoc readEntry(const char*, const QStringList&) const
+ *
+ * @warning This function doesn't convert the items returned
+ * to any type. It's actually a list of QVariant::String's. If you
+ * want the items converted to a specific type use
+ * readEntry(const char*, const QList<T>&) const
+ */
+ QVariantList readEntry(const QString &key, const QVariantList &aDefault) const;
+ /**
+ * Overload for readEntry(const QString&, const QVariantList&) const
+ * @param key name of key, encoded in UTF-8
+ */
+ QVariantList readEntry(const char *key, const QVariantList &aDefault) const;
+
+ /**
+ * Reads a list of strings from the config object
+ *
+ * @param key The key to search for
+ * @param aDefault The default value to use if the key does not exist
+ * @return The list, or @p aDefault if @p key does not exist
+ *
+ * @see readXdgListEntry(), writeEntry(), deleteEntry(), hasKey()
+ */
+ QStringList readEntry(const QString &key, const QStringList &aDefault) const;
+ /**
+ * Overload for readEntry(const QString&, const QStringList&) const
+ * @param key name of key, encoded in UTF-8
+ */
+ QStringList readEntry(const char *key, const QStringList &aDefault) const;
+
+ /**
+ * Reads a list of values from the config object
+ *
+ * @param key the key to search for
+ * @param aDefault the default value to use if the key does not exist
+ * @return the list, or @p aDefault if @p key does not exist
+ *
+ * @see readXdgListEntry(), writeEntry(), deleteEntry(), hasKey()
+ */
+ template<typename T>
+ QList<T> readEntry(const QString &key, const QList<T> &aDefault) const
+ {
+ return readEntry(key.toUtf8().constData(), aDefault);
+ }
+ /**
+ * Overload for readEntry<T>(const QString&, const QList<T>&) const
+ * @param key name of key, encoded in UTF-8
+ */
+ template<typename T>
+ QList<T> readEntry(const char *key, const QList<T> &aDefault) const;
+
+ /**
+ * Reads a list of strings from the config object with semicolons separating
+ * them (i.e. following desktop entry spec separator semantics).
+ *
+ * @param pKey the key to search for
+ * @param aDefault the default value to use if the key does not exist
+ * @return the list, or @p aDefault if @p pKey does not exist
+ *
+ * @see readEntry(const QString&, const QStringList&) const
+ */
+ QStringList readXdgListEntry(const QString &pKey, const QStringList &aDefault = QStringList()) const;
+ /**
+ * Overload for readXdgListEntry(const QString&, const QStringList&) const
+ * @param key name of key, encoded in UTF-8
+ */
+ QStringList readXdgListEntry(const char *key, const QStringList &aDefault = QStringList()) const;
+
+ /**
+ * Reads a path
+ *
+ * Read the value of an entry specified by @p pKey in the current group
+ * and interpret it as a path. This means, dollar expansion is activated
+ * for this value, so that e.g. $HOME gets expanded.
+ *
+ * @param pKey The key to search for.
+ * @param aDefault A default value returned if the key was not found.
+ * @return The value for this key. Can be QString() if @p aDefault is null.
+ */
+ QString readPathEntry(const QString &pKey, const QString &aDefault) const;
+ /**
+ * Overload for readPathEntry(const QString&, const QString&) const
+ * @param key name of key, encoded in UTF-8
+ */
+ QString readPathEntry(const char *key, const QString &aDefault) const;
+
+ /**
+ * Reads a list of paths
+ *
+ * Read the value of an entry specified by @p pKey in the current group
+ * and interpret it as a list of paths. This means, dollar expansion is activated
+ * for this value, so that e.g. $HOME gets expanded.
+ *
+ * @param pKey the key to search for
+ * @param aDefault a default value returned if the key was not found
+ * @return the list, or @p aDefault if the key does not exist
+ */
+ QStringList readPathEntry(const QString &pKey, const QStringList &aDefault) const;
+ /**
+ * Overload for readPathEntry(const QString&, const QStringList&) const
+ * @param key name of key, encoded in UTF-8
+ */
+ QStringList readPathEntry(const char *key, const QStringList &aDefault) const;
+
+ /**
+ * Reads an untranslated string entry
+ *
+ * You should not normally need to use this.
+ *
+ * @param pKey the key to search for
+ * @param aDefault a default value returned if the key was not found
+ * @return the value for this key, or @p aDefault if the key does not exist
+ */
+ QString readEntryUntranslated(const QString &pKey, const QString &aDefault = QString()) const;
+ /**
+ * Overload for readEntryUntranslated(const QString&, const QString&) const
+ * @param key name of key, encoded in UTF-8
+ */
+ QString readEntryUntranslated(const char *key, const QString &aDefault = QString()) const;
+
+ /**
+ * Writes a value to the configuration object.
+ *
+ * @param key the key to write to
+ * @param value the value to write
+ * @param pFlags the flags to use when writing this entry
+ *
+ * @see readEntry(), writeXdgListEntry(), deleteEntry()
+ */
+ void writeEntry(const QString &key, const QVariant &value, WriteConfigFlags pFlags = Normal);
+ /**
+ * Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags)
+ * @param key name of key, encoded in UTF-8
+ */
+ void writeEntry(const char *key, const QVariant &value, WriteConfigFlags pFlags = Normal);
+
+ /** Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags) */
+ void writeEntry(const QString &key, const QString &value, WriteConfigFlags pFlags = Normal);
+ /**
+ * Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags)
+ * @param key name of key, encoded in UTF-8
+ */
+ void writeEntry(const char *key, const QString &value, WriteConfigFlags pFlags = Normal);
+
+ /** Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags) */
+ void writeEntry(const QString &key, const QByteArray &value, WriteConfigFlags pFlags = Normal);
+ /**
+ * Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags)
+ * @param key name of key, encoded in UTF-8
+ */
+ void writeEntry(const char *key, const QByteArray &value, WriteConfigFlags pFlags = Normal);
+
+ /** Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags) */
+ void writeEntry(const QString &key, const char *value, WriteConfigFlags pFlags = Normal);
+ /**
+ * Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags)
+ * @param key name of key, encoded in UTF-8
+ */
+ void writeEntry(const char *key, const char *value, WriteConfigFlags pFlags = Normal);
+
+ /**
+ * Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags)
+ * @param key name of key, encoded in UTF-8
+ */
+ template<typename T>
+ void writeEntry(const char *key, const T &value, WriteConfigFlags pFlags = Normal);
+ /** Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags) */
+ template<typename T>
+ void writeEntry(const QString &key, const T &value, WriteConfigFlags pFlags = Normal)
+ {
+ writeEntry(key.toUtf8().constData(), value, pFlags);
+ }
+
+ /** Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags) */
+ void writeEntry(const QString &key, const QStringList &value, WriteConfigFlags pFlags = Normal);
+ /**
+ * Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags)
+ * @param key name of key, encoded in UTF-8
+ */
+ void writeEntry(const char *key, const QStringList &value, WriteConfigFlags pFlags = Normal);
+
+ /** Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags) */
+ void writeEntry(const QString &key, const QVariantList &value, WriteConfigFlags pFlags = Normal);
+ /**
+ * Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags)
+ * @param key name of key, encoded in UTF-8
+ */
+ void writeEntry(const char *key, const QVariantList &value, WriteConfigFlags pFlags = Normal);
+
+ /** Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags) */
+ template<typename T>
+ void writeEntry(const QString &key, const QList<T> &value, WriteConfigFlags pFlags = Normal)
+ {
+ writeEntry(key.toUtf8().constData(), value, pFlags);
+ }
+ /**
+ * Overload for writeEntry(const QString&, const QVariant&, WriteConfigFlags)
+ * @param key name of key, encoded in UTF-8
+ */
+ template<typename T>
+ void writeEntry(const char *key, const QList<T> &value, WriteConfigFlags pFlags = Normal);
+
+ /**
+ * Writes a list of strings to the config object, following XDG
+ * desktop entry spec separator semantics
+ *
+ * @param pKey the key to write to
+ * @param value the list to write
+ * @param pFlags the flags to use when writing this entry
+ *
+ * @see writeEntry(), readXdgListEntry()
+ */
+ void writeXdgListEntry(const QString &pKey, const QStringList &value, WriteConfigFlags pFlags = Normal);
+ /**
+ * Overload for writeXdgListEntry(const QString&, const QStringList&, WriteConfigFlags)
+ * @param key name of key, encoded in UTF-8
+ */
+ void writeXdgListEntry(const char *key, const QStringList &value, WriteConfigFlags pFlags = Normal);
+
+ /**
+ * Writes a file path to the configuration
+ *
+ * If the path is located under $HOME, the user's home directory
+ * is replaced with $HOME in the persistent storage.
+ * The path should therefore be read back with readPathEntry()
+ *
+ * @param pKey the key to write to
+ * @param path the path to write
+ * @param pFlags the flags to use when writing this entry
+ *
+ * @see writeEntry(), readPathEntry()
+ */
+ void writePathEntry(const QString &pKey, const QString &path, WriteConfigFlags pFlags = Normal);
+ /**
+ * Overload for writePathEntry(const QString&, const QString&, WriteConfigFlags)
+ * @param key name of key, encoded in UTF-8
+ */
+ void writePathEntry(const char *Key, const QString &path, WriteConfigFlags pFlags = Normal);
+
+ /**
+ * Writes a list of paths to the configuration
+ *
+ * If any of the paths are located under $HOME, the user's home directory
+ * is replaced with $HOME in the persistent storage.
+ * The paths should therefore be read back with readPathEntry()
+ *
+ * @param pKey the key to write to
+ * @param value the list to write
+ * @param pFlags the flags to use when writing this entry
+ *
+ * @see writeEntry(), readPathEntry()
+ */
+ void writePathEntry(const QString &pKey, const QStringList &value, WriteConfigFlags pFlags = Normal);
+ /**
+ * Overload for writePathEntry(const QString&, const QStringList&, WriteConfigFlags)
+ * @param key name of key, encoded in UTF-8
+ */
+ void writePathEntry(const char *key, const QStringList &value, WriteConfigFlags pFlags = Normal);
+
+ /**
+ * Deletes the entry specified by @p pKey in the current group
+ *
+ * This also hides system wide defaults.
+ *
+ * @param pKey the key to delete
+ * @param pFlags the flags to use when deleting this entry
+ *
+ * @see deleteGroup(), readEntry(), writeEntry()
+ */
+ void deleteEntry(const QString &pKey, WriteConfigFlags pFlags = Normal);
+ /**
+ * Overload for deleteEntry(const QString&, WriteConfigFlags)
+ * @param key name of key, encoded in UTF-8
+ */
+ void deleteEntry(const char *key, WriteConfigFlags pFlags = Normal);
+
+ /**
+ * Checks whether the key has an entry in this group
+ *
+ * Use this to determine if a key is not specified for the current
+ * group (hasKey() returns false).
+ *
+ * If this returns @c false for a key, readEntry() (and its variants)
+ * will return the default value passed to them.
+ *
+ * @param key the key to search for
+ * @return @c true if the key is defined in this group by any of the
+ * configuration sources, @c false otherwise
+ *
+ * @see readEntry()
+ */
+ bool hasKey(const QString &key) const;
+ /**
+ * Overload for hasKey(const QString&) const
+ * @param key name of key, encoded in UTF-8
+ */
+ bool hasKey(const char *key) const;
+
+ /**
+ * Whether this group may be changed
+ *
+ * @return @c false if the group may be changed, @c true otherwise
+ */
+ bool isImmutable() const override;
+
+ /**
+ * Checks if it is possible to change the given entry
+ *
+ * If isImmutable() returns @c true, then this method will return
+ * @c true for all inputs.
+ *
+ * @param key the key to check
+ * @return @c false if the key may be changed using this configuration
+ * group object, @c true otherwise
+ */
+ bool isEntryImmutable(const QString &key) const;
+ /**
+ * Overload for isEntryImmutable(const QString&) const
+ * @param key name of key, encoded in UTF-8
+ */
+ bool isEntryImmutable(const char *key) const;
+
+ /**
+ * Reverts an entry to the default settings.
+ *
+ * Reverts the entry with key @p key in the current group in the
+ * application specific config file to either the system wide (default)
+ * value or the value specified in the global KDE config file.
+ *
+ * To revert entries in the global KDE config file, the global KDE config
+ * file should be opened explicitly in a separate config object.
+ *
+ * @note This is @em not the same as deleting the key, as instead the
+ * global setting will be copied to the configuration file that this
+ * object manipulates.
+ *
+ * @param key The key of the entry to revert.
+ */
+ void revertToDefault(const QString &key, WriteConfigFlags pFlag = WriteConfigFlags());
+
+ /**
+ * Overload for revertToDefault(const QString&, WriteConfigFlags)
+ * @param key name of key, encoded in UTF-8
+ */
+ void revertToDefault(const char *key, WriteConfigFlags pFlag = WriteConfigFlags());
+
+ /**
+ * Whether a default is specified for an entry in either the
+ * system wide configuration file or the global KDE config file
+ *
+ * If an application computes a default value at runtime for
+ * a certain entry, e.g. like:
+ * \code
+ * QColor computedDefault = qApp->palette().color(QPalette::Active, QPalette::Text);
+ * QColor color = group.readEntry(key, computedDefault);
+ * \endcode
+ * then it may wish to make the following check before
+ * writing back changes:
+ * \code
+ * if ( (value == computedDefault) && !group.hasDefault(key) )
+ * group.revertToDefault(key);
+ * else
+ * group.writeEntry(key, value);
+ * \endcode
+ *
+ * This ensures that as long as the entry is not modified to differ from
+ * the computed default, the application will keep using the computed default
+ * and will follow changes the computed default makes over time.
+ *
+ * @param key the key of the entry to check
+ * @return @c true if the global or system settings files specify a default
+ * for @p key in this group, @c false otherwise
+ */
+ bool hasDefault(const QString &key) const;
+ /**
+ * Overload for hasDefault(const QString&) const
+ * @param key name of key, encoded in UTF-8
+ */
+ bool hasDefault(const char *key) const;
+
+ /**
+ * Returns a map (tree) of entries for all entries in this group
+ *
+ * Only the actual entry string is returned, none of the
+ * other internal data should be included.
+ *
+ * @return a map of entries in this group, indexed by key
+ */
+ QMap<QString, QString> entryMap() const;
+
+protected:
+ bool hasGroupImpl(const QString &groupName) const override;
+ KConfigGroup groupImpl(const QString &groupName) override;
+ const KConfigGroup groupImpl(const QString &groupName) const override;
+ void deleteGroupImpl(const QString &groupName, WriteConfigFlags flags) override;
+ bool isGroupImmutableImpl(const QString &groupName) const override;
+
+private:
+ QExplicitlySharedDataPointer<KConfigGroupPrivate> d;
+
+ friend class KConfigGroupPrivate;
+
+ /**
+ * Return the data in @p value converted to a QVariant
+ *
+ * @param pKey the name of the entry being converted, this is only used for error
+ * reporting
+ * @param value the UTF-8 data to be converted
+ * @param aDefault the default value if @p pKey is not found
+ * @return @p value converted to QVariant, or @p aDefault if @p value is invalid or cannot be converted.
+ */
+ static QVariant convertToQVariant(const char *pKey, const QByteArray &value, const QVariant &aDefault);
+
+ KCONFIGCORE_NO_EXPORT void moveValue(const char *key, KConfigGroup &other, WriteConfigFlags pFlags);
+
+ // exported for usage by KServices' KService & KServiceAction
+ friend class KServicePrivate; // XXX yeah, ugly^5
+ friend class KServiceAction;
+};
+
+Q_DECLARE_TYPEINFO(KConfigGroup, Q_RELOCATABLE_TYPE);
+
+#define KCONFIGGROUP_ENUMERATOR_ERROR(ENUM) "The Qt MetaObject system does not seem to know about \"" ENUM "\" please use Q_ENUM or Q_FLAG to register it."
+
+/**
+ * To add support for your own enums in KConfig, you can declare them with Q_ENUM()
+ * in a QObject subclass (which will make moc generate the code to turn the
+ * enum into a string and vice-versa), and then (in the cpp code)
+ * use the macro
+ * <code>KCONFIGGROUP_DECLARE_ENUM_QOBJECT(MyClass, MyEnum)</code>
+ *
+ */
+#define KCONFIGGROUP_DECLARE_ENUM_QOBJECT(Class, Enum) \
+ template<> \
+ Class::Enum KConfigGroup::readEntry(const char *key, const Class::Enum &def) const \
+ { \
+ const QMetaObject *M_obj = &Class::staticMetaObject; \
+ const int M_index = M_obj->indexOfEnumerator(#Enum); \
+ if (M_index == -1) \
+ qFatal(KCONFIGGROUP_ENUMERATOR_ERROR(#Enum)); \
+ const QMetaEnum M_enum = M_obj->enumerator(M_index); \
+ const QByteArray M_data = readEntry(key, QByteArray(M_enum.valueToKey(def))); \
+ return static_cast<Class::Enum>(M_enum.keyToValue(M_data.constData())); \
+ } \
+ template<> \
+ void KConfigGroup::writeEntry(const char *key, const Class::Enum &value, KConfigBase::WriteConfigFlags flags) \
+ { \
+ const QMetaObject *M_obj = &Class::staticMetaObject; \
+ const int M_index = M_obj->indexOfEnumerator(#Enum); \
+ if (M_index == -1) \
+ qFatal(KCONFIGGROUP_ENUMERATOR_ERROR(#Enum)); \
+ const QMetaEnum M_enum = M_obj->enumerator(M_index); \
+ writeEntry(key, QByteArray(M_enum.valueToKey(value)), flags); \
+ }
+
+/**
+ * Similar to KCONFIGGROUP_DECLARE_ENUM_QOBJECT but for flags declared with Q_FLAG()
+ * (where multiple values can be set at the same time)
+ */
+#define KCONFIGGROUP_DECLARE_FLAGS_QOBJECT(Class, Flags) \
+ template<> \
+ Class::Flags KConfigGroup::readEntry(const char *key, const Class::Flags &def) const \
+ { \
+ const QMetaObject *M_obj = &Class::staticMetaObject; \
+ const int M_index = M_obj->indexOfEnumerator(#Flags); \
+ if (M_index == -1) \
+ qFatal(KCONFIGGROUP_ENUMERATOR_ERROR(#Flags)); \
+ const QMetaEnum M_enum = M_obj->enumerator(M_index); \
+ const QByteArray M_data = readEntry(key, QByteArray(M_enum.valueToKeys(def))); \
+ return static_cast<Class::Flags>(M_enum.keysToValue(M_data.constData())); \
+ } \
+ template<> \
+ void KConfigGroup::writeEntry(const char *key, const Class::Flags &value, KConfigBase::WriteConfigFlags flags) \
+ { \
+ const QMetaObject *M_obj = &Class::staticMetaObject; \
+ const int M_index = M_obj->indexOfEnumerator(#Flags); \
+ if (M_index == -1) \
+ qFatal(KCONFIGGROUP_ENUMERATOR_ERROR(#Flags)); \
+ const QMetaEnum M_enum = M_obj->enumerator(M_index); \
+ writeEntry(key, QByteArray(M_enum.valueToKeys(value)), flags); \
+ }
+
+#include "kconfigconversioncheck_p.h"
+
+template<typename T>
+T KConfigGroup::readEntry(const char *key, const T &defaultValue) const
+{
+ KConfigConversionCheck::to_QVariant<T>();
+ return qvariant_cast<T>(readEntry(key, QVariant::fromValue(defaultValue)));
+}
+
+template<typename T>
+QList<T> KConfigGroup::readEntry(const char *key, const QList<T> &defaultValue) const
+{
+ KConfigConversionCheck::to_QVariant<T>();
+ KConfigConversionCheck::to_QString<T>();
+
+ QVariantList data;
+
+ for (const T &value : defaultValue) {
+ data.append(QVariant::fromValue(value));
+ }
+
+ QList<T> list;
+ const auto variantList = readEntry<QVariantList>(key, data);
+ for (const QVariant &value : variantList) {
+ Q_ASSERT(value.canConvert<T>());
+ list.append(qvariant_cast<T>(value));
+ }
+
+ return list;
+}
+
+template<typename T>
+void KConfigGroup::writeEntry(const char *key, const T &value, WriteConfigFlags pFlags)
+{
+ KConfigConversionCheck::to_QVariant<T>();
+ writeEntry(key, QVariant::fromValue(value), pFlags);
+}
+
+template<typename T>
+void KConfigGroup::writeEntry(const char *key, const QList<T> &list, WriteConfigFlags pFlags)
+{
+ KConfigConversionCheck::to_QVariant<T>();
+ KConfigConversionCheck::to_QString<T>();
+ QVariantList data;
+ for (const T &value : list) {
+ data.append(QVariant::fromValue(value));
+ }
+
+ writeEntry(key, data, pFlags);
+}
+
+#endif // KCONFIGGROUP_H
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2007 Thiago Macieira <thiago@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGGROUP_P_H
+#define KCONFIGGROUP_P_H
+
+#include "kconfiggroup.h"
+#include <QVariant>
+
+class KConfigGroup;
+
+struct KConfigGroupGui {
+ typedef bool (*kReadEntryGui)(const QByteArray &data, const char *key, const QVariant &input, QVariant &output);
+ typedef bool (*kWriteEntryGui)(KConfigGroup *, const char *key, const QVariant &input, KConfigGroup::WriteConfigFlags flags);
+
+ kReadEntryGui readEntryGui;
+ kWriteEntryGui writeEntryGui;
+};
+
+extern KCONFIGCORE_EXPORT KConfigGroupGui _kde_internal_KConfigGroupGui;
+
+#endif
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2006, 2007 Thomas Braxton <kde.braxton@gmail.com>
+ SPDX-FileCopyrightText: 1999 Preston Brown <pbrown@kde.org>
+ SPDX-FileCopyrightText: 1997-1999 Matthias Kalle Dalheimer <kalle@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfigini_p.h"
+
+#include "kconfig_core_log_settings.h"
+#include "kconfigdata_p.h"
+
+#include <QDateTime>
+#include <QDebug>
+#include <QDir>
+#include <QFile>
+#include <QFileInfo>
+#include <QLockFile>
+#include <QSaveFile>
+#include <QStandardPaths>
+#include <qplatformdefs.h>
+
+#ifndef Q_OS_WIN
+#include <unistd.h> // getuid, close
+#endif
+#include <fcntl.h> // open
+#include <sys/types.h> // uid_t
+
+using namespace Qt::StringLiterals;
+
+KCONFIGCORE_EXPORT bool kde_kiosk_exception = false; // flag to disable kiosk restrictions
+
+static QByteArray lookup(QByteArrayView fragment, QHash<QByteArrayView, QByteArray> *cache)
+{
+ auto it = cache->constFind(fragment);
+ if (it != cache->constEnd()) {
+ return it.value();
+ }
+
+ return cache->insert(fragment, fragment.toByteArray()).value();
+}
+
+QString KConfigIniBackend::warningProlog(const QFile &file, int line)
+{
+ // %2 then %1 i.e. int before QString, so that the QString is last
+ // This avoids a wrong substitution if the fileName itself contains %1
+ return QStringLiteral("KConfigIni: In file %2, line %1:").arg(line).arg(file.fileName());
+}
+
+KConfigIniBackend::KConfigIniBackend()
+ : lockFile(nullptr)
+{
+}
+
+KConfigIniBackend::ParseInfo KConfigIniBackend::parseConfig(const QByteArray ¤tLocale, KEntryMap &entryMap, ParseOptions options)
+{
+ return parseConfig(currentLocale, entryMap, options, false);
+}
+
+// merging==true is the merging that happens at the beginning of writeConfig:
+// merge changes in the on-disk file with the changes in the KConfig object.
+KConfigIniBackend::ParseInfo KConfigIniBackend::parseConfig(const QByteArray ¤tLocale, KEntryMap &entryMap, ParseOptions options, bool merging)
+{
+ if (filePath().isEmpty()) {
+ return ParseOk;
+ }
+
+ QFile file(filePath());
+ if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
+ return file.exists() ? ParseOpenError : ParseOk;
+ }
+
+ QList<QString> immutableGroups;
+
+ bool fileOptionImmutable = false;
+ bool groupOptionImmutable = false;
+ bool groupSkip = false;
+
+ int lineNo = 0;
+ // on systems using \r\n as end of line, \r will be taken care of by
+ // trim() below
+ QByteArray buffer = file.readAll();
+ QByteArrayView contents(buffer.data(), buffer.size());
+
+ const int langIdx = currentLocale.indexOf('_');
+ const QByteArray currentLanguage = langIdx >= 0 ? currentLocale.left(langIdx) : currentLocale;
+
+ QString currentGroup = QStringLiteral("<default>");
+ bool bDefault = options & ParseDefaults;
+ bool allowExecutableValues = options & ParseExpansions;
+
+ // Reduce memory overhead by making use of implicit sharing
+ // This assumes that config files contain only a small amount of
+ // different fragments which are repeated often.
+ // This is often the case, especially sub groups will all have
+ // the same list of keys and similar values as well.
+ QHash<QByteArrayView, QByteArray> cache;
+ cache.reserve(4096);
+
+ while (!contents.isEmpty()) {
+ QByteArrayView line;
+ if (const auto idx = contents.indexOf('\n'); idx < 0) {
+ line = contents;
+ contents = {};
+ } else {
+ line = contents.left(idx);
+ contents = contents.mid(idx + 1);
+ }
+ line = line.trimmed();
+ ++lineNo;
+
+ // skip empty lines and lines beginning with '#'
+ if (line.isEmpty() || line.at(0) == '#') {
+ continue;
+ }
+
+ if (line.at(0) == '[') { // found a group
+ groupOptionImmutable = fileOptionImmutable;
+
+ QByteArray newGroup;
+ int start = 1;
+ int end = 0;
+ do {
+ end = start;
+ for (;;) {
+ if (end == line.length()) {
+ qCWarning(KCONFIG_CORE_LOG) << warningProlog(file, lineNo) << "Invalid group header.";
+ // XXX maybe reset the current group here?
+ goto next_line;
+ }
+ if (line.at(end) == ']') {
+ break;
+ }
+ ++end;
+ }
+ /* clang-format off */
+ if (end + 1 == line.length()
+ && start + 2 == end
+ && line.at(start) == '$'
+ && line.at(start + 1) == 'i') { /* clang-format on */
+ if (newGroup.isEmpty()) {
+ fileOptionImmutable = !kde_kiosk_exception;
+ } else {
+ groupOptionImmutable = !kde_kiosk_exception;
+ }
+ } else {
+ if (!newGroup.isEmpty()) {
+ newGroup += '\x1d';
+ }
+ QByteArrayView namePart = line.mid(start, end - start);
+ printableToString(namePart, file, lineNo);
+ newGroup += namePart.toByteArray();
+ }
+ } while ((start = end + 2) <= line.length() && line.at(end + 1) == '[');
+ currentGroup = QString::fromUtf8(newGroup);
+
+ groupSkip = entryMap.getEntryOption(currentGroup, {}, {}, KEntryMap::EntryImmutable);
+
+ if (groupSkip && !bDefault) {
+ continue;
+ }
+
+ if (groupOptionImmutable)
+ // Do not make the groups immutable until the entries from
+ // this file have been added.
+ {
+ immutableGroups.append(currentGroup);
+ }
+ } else {
+ if (groupSkip && !bDefault) {
+ continue; // skip entry
+ }
+
+ QByteArrayView aKey;
+ int eqpos = line.indexOf('=');
+ if (eqpos < 0) {
+ aKey = line;
+ line = {};
+ } else {
+ QByteArrayView temp = line.left(eqpos);
+ aKey = temp.trimmed();
+ line = line.mid(eqpos + 1);
+ line = line.trimmed();
+ }
+ if (aKey.isEmpty()) {
+ qCWarning(KCONFIG_CORE_LOG) << warningProlog(file, lineNo) << "Invalid entry (empty key)";
+ continue;
+ }
+
+ KEntryMap::EntryOptions entryOptions = {};
+ if (groupOptionImmutable) {
+ entryOptions |= KEntryMap::EntryImmutable;
+ }
+
+ QByteArrayView locale;
+ int start;
+ while ((start = aKey.lastIndexOf('[')) >= 0) {
+ int end = aKey.indexOf(']', start);
+ if (end < 0) {
+ qCWarning(KCONFIG_CORE_LOG) << warningProlog(file, lineNo) << "Invalid entry (missing ']')";
+ goto next_line;
+ } else if (end > start + 1 && aKey.at(start + 1) == '$') { // found option(s)
+ int i = start + 2;
+ while (i < end) {
+ switch (aKey.at(i)) {
+ case 'i':
+ if (!kde_kiosk_exception) {
+ entryOptions |= KEntryMap::EntryImmutable;
+ }
+ break;
+ case 'e':
+ if (allowExecutableValues) {
+ entryOptions |= KEntryMap::EntryExpansion;
+ }
+ break;
+ case 'd':
+ entryOptions |= KEntryMap::EntryDeleted;
+ aKey.truncate(start);
+ printableToString(aKey, file, lineNo);
+ entryMap.setEntry(currentGroup, aKey.toByteArray(), QByteArray(), entryOptions);
+ goto next_line;
+ default:
+ break;
+ }
+ ++i;
+ }
+ } else { // found a locale
+ if (!locale.isNull()) {
+ qCWarning(KCONFIG_CORE_LOG) << warningProlog(file, lineNo) << "Invalid entry (second locale!?)";
+ goto next_line;
+ }
+
+ locale = aKey.mid(start + 1, end - start - 1);
+ }
+ aKey.truncate(start);
+ }
+ if (eqpos < 0) { // Do this here after [$d] was checked
+ qCWarning(KCONFIG_CORE_LOG) << warningProlog(file, lineNo) << "Invalid entry (missing '=')";
+ continue;
+ }
+ printableToString(aKey, file, lineNo);
+ if (!locale.isEmpty()) {
+ if (locale != currentLocale && locale != currentLanguage) {
+ // backward compatibility. C == en_US
+ if (locale.at(0) != 'C' || currentLocale != "en_US") {
+ if (merging) {
+ entryOptions |= KEntryMap::EntryRawKey;
+ } else {
+ goto next_line; // skip this entry if we're not merging
+ }
+ }
+ }
+ }
+
+ if (!(entryOptions & KEntryMap::EntryRawKey)) {
+ printableToString(aKey, file, lineNo);
+ }
+
+ if (options & ParseGlobal) {
+ entryOptions |= KEntryMap::EntryGlobal;
+ }
+ if (bDefault) {
+ entryOptions |= KEntryMap::EntryDefault;
+ }
+ if (!locale.isNull()) {
+ entryOptions |= KEntryMap::EntryLocalized;
+ if (locale.indexOf('_') != -1) {
+ entryOptions |= KEntryMap::EntryLocalizedCountry;
+ }
+ }
+ printableToString(line, file, lineNo);
+ if (entryOptions & KEntryMap::EntryRawKey) {
+ QByteArray rawKey;
+ rawKey.reserve(aKey.length() + locale.length() + 2);
+ rawKey.append(aKey);
+ rawKey.append('[').append(locale).append(']');
+ entryMap.setEntry(currentGroup, rawKey, lookup(line, &cache), entryOptions);
+ } else {
+ entryMap.setEntry(currentGroup, lookup(aKey, &cache), lookup(line, &cache), entryOptions);
+ }
+ }
+ next_line:
+ continue;
+ }
+
+ // now make sure immutable groups are marked immutable
+ for (const QString &group : std::as_const(immutableGroups)) {
+ entryMap.setEntry(group, QByteArray(), QByteArray(), KEntryMap::EntryImmutable);
+ }
+
+ return fileOptionImmutable ? ParseImmutable : ParseOk;
+}
+
+void KConfigIniBackend::writeEntries(const QByteArray &locale, QIODevice &file, const KEntryMap &map, bool defaultGroup, bool &firstEntry)
+{
+ QString currentGroup;
+ bool groupIsImmutable = false;
+ for (const auto &[key, entry] : map) {
+ // Either process the default group or all others
+ if ((key.mGroup != QStringLiteral("<default>")) == defaultGroup) {
+ continue; // skip
+ }
+
+ // the only thing we care about groups is, is it immutable?
+ if (key.mKey.isNull()) {
+ groupIsImmutable = entry.bImmutable;
+ continue; // skip
+ }
+
+ const KEntry ¤tEntry = entry;
+ if (!defaultGroup && currentGroup != key.mGroup) {
+ if (!firstEntry) {
+ file.putChar('\n');
+ }
+ currentGroup = key.mGroup;
+ for (int start = 0, end;; start = end + 1) {
+ file.putChar('[');
+ end = currentGroup.indexOf(QLatin1Char('\x1d'), start);
+ if (end < 0) {
+ int cgl = currentGroup.length();
+ if (currentGroup.at(start) == QLatin1Char('$') && cgl - start <= 10) {
+ for (int i = start + 1; i < cgl; i++) {
+ const QChar c = currentGroup.at(i);
+ if (c < QLatin1Char('a') || c > QLatin1Char('z')) {
+ goto nope;
+ }
+ }
+ file.write("\\x24");
+ ++start;
+ }
+ nope:
+ // TODO: make stringToPrintable also process QString, to save the conversion here and below
+ file.write(stringToPrintable(QStringView(currentGroup).mid(start).toUtf8(), GroupString));
+ file.putChar(']');
+ if (groupIsImmutable) {
+ file.write("[$i]", 4);
+ }
+ file.putChar('\n');
+ break;
+ } else {
+ file.write(stringToPrintable(QStringView(currentGroup).mid(start, end - start).toUtf8(), GroupString));
+ file.putChar(']');
+ }
+ }
+ }
+
+ firstEntry = false;
+ // it is data for a group
+
+ if (key.bRaw) { // unprocessed key with attached locale from merge
+ file.write(key.mKey);
+ } else {
+ file.write(stringToPrintable(key.mKey, KeyString)); // Key
+ if (key.bLocal && locale != "C") { // 'C' locale == untranslated
+ file.putChar('[');
+ file.write(locale); // locale tag
+ file.putChar(']');
+ }
+ }
+ if (currentEntry.bDeleted) {
+ if (currentEntry.bImmutable) {
+ file.write("[$di]", 5); // Deleted + immutable
+ } else {
+ file.write("[$d]", 4); // Deleted
+ }
+ } else {
+ if (currentEntry.bImmutable || currentEntry.bExpand) {
+ file.write("[$", 2);
+ if (currentEntry.bImmutable) {
+ file.putChar('i');
+ }
+ if (currentEntry.bExpand) {
+ file.putChar('e');
+ }
+ file.putChar(']');
+ }
+ file.putChar('=');
+ file.write(stringToPrintable(currentEntry.mValue, ValueString));
+ }
+ file.putChar('\n');
+ }
+}
+
+void KConfigIniBackend::writeEntries(const QByteArray &locale, QIODevice &file, const KEntryMap &map)
+{
+ bool firstEntry = true;
+
+ // write default group
+ writeEntries(locale, file, map, true, firstEntry);
+
+ // write all other groups
+ writeEntries(locale, file, map, false, firstEntry);
+}
+
+bool KConfigIniBackend::writeConfig(const QByteArray &locale, KEntryMap &entryMap, WriteOptions options)
+{
+ Q_ASSERT(!filePath().isEmpty());
+
+ KEntryMap writeMap;
+ const bool bGlobal = options & WriteGlobal;
+
+ // First, reparse the file on disk, to merge our changes with the ones done by other apps
+ // Store the result into writeMap.
+ {
+ ParseOptions opts = ParseExpansions;
+ if (bGlobal) {
+ opts |= ParseGlobal;
+ }
+ ParseInfo info = parseConfig(locale, writeMap, opts, true);
+ if (info != ParseOk) { // either there was an error or the file became immutable
+ return false;
+ }
+ }
+
+ for (auto &[key, entry] : entryMap) {
+ if (!key.mKey.isEmpty() && !entry.bDirty) { // not dirty, doesn't overwrite entry in writeMap. skips default entries, too.
+ continue;
+ }
+
+ // only write entries that have the same "globality" as the file
+ if (entry.bGlobal == bGlobal) {
+ if (entry.bReverted && entry.bOverridesGlobal) {
+ entry.bDeleted = true;
+ writeMap[key] = entry;
+ } else if (entry.bReverted) {
+ writeMap.erase(key);
+ } else if (!entry.bDeleted) {
+ writeMap[key] = entry;
+ } else {
+ KEntryKey defaultKey = key;
+ defaultKey.bDefault = true;
+ if (entryMap.find(defaultKey) == entryMap.end() && !entry.bOverridesGlobal) {
+ writeMap.erase(key); // remove the deleted entry if there is no default
+ // qDebug() << "Detected as deleted=>removed:" << key.mGroup << key.mKey << "global=" << bGlobal;
+ } else {
+ writeMap[key] = entry; // otherwise write an explicitly deleted entry
+ // qDebug() << "Detected as deleted=>[$d]:" << key.mGroup << key.mKey << "global=" << bGlobal;
+ }
+ }
+ entry.bDirty = false;
+ }
+ }
+
+ // now writeMap should contain only entries to be written
+ // so write it out to disk
+
+ // check if file exists
+ QFile::Permissions fileMode = filePath().startsWith(u"/etc/xdg/"_s) ? QFile::ReadUser | QFile::WriteUser | QFile::ReadGroup | QFile::ReadOther //
+ : QFile::ReadUser | QFile::WriteUser;
+
+ bool createNew = true;
+
+ QFileInfo fi(filePath());
+ if (fi.exists()) {
+#ifdef Q_OS_WIN
+ // TODO: getuid does not exist on windows, use GetSecurityInfo and GetTokenInformation instead
+ createNew = false;
+#else
+ if (fi.ownerId() == ::getuid()) {
+ // Preserve file mode if file exists and is owned by user.
+ fileMode = fi.permissions();
+ } else {
+ // File is not owned by user:
+ // Don't create new file but write to existing file instead.
+ createNew = false;
+ }
+#endif
+ }
+
+ if (createNew) {
+ QSaveFile file(filePath());
+ if (!file.open(QIODevice::WriteOnly)) {
+#ifdef Q_OS_ANDROID
+ // HACK: when we are dealing with content:// URIs, QSaveFile has to rely on DirectWrite.
+ // Otherwise this method returns a false and we're done.
+ file.setDirectWriteFallback(true);
+ if (!file.open(QIODevice::WriteOnly)) {
+ qWarning(KCONFIG_CORE_LOG) << "Couldn't create a new file:" << filePath() << ". Error:" << file.errorString();
+ return false;
+ }
+#else
+ qWarning(KCONFIG_CORE_LOG) << "Couldn't create a new file:" << filePath() << ". Error:" << file.errorString();
+ return false;
+#endif
+ }
+
+ file.setTextModeEnabled(true); // to get eol translation
+ writeEntries(locale, file, writeMap);
+
+ if (!file.size() && (fileMode == (QFile::ReadUser | QFile::WriteUser))) {
+ // File is empty and doesn't have special permissions: delete it.
+ file.cancelWriting();
+
+ if (fi.exists()) {
+ // also remove the old file in case it existed. this can happen
+ // when we delete all the entries in an existing config file.
+ // if we don't do this, then deletions and revertToDefault's
+ // will mysteriously fail
+ QFile::remove(filePath());
+ }
+ } else {
+ // Normal case: Close the file
+ if (file.commit()) {
+ QFile::setPermissions(filePath(), fileMode);
+ return true;
+ }
+ // Couldn't write. Disk full?
+ qCWarning(KCONFIG_CORE_LOG) << "Couldn't write" << filePath() << ". Disk full?";
+ return false;
+ }
+ } else {
+ // Open existing file. *DON'T* create it if it suddenly does not exist!
+#if defined(Q_OS_UNIX) && !defined(Q_OS_ANDROID)
+ int fd = QT_OPEN(QFile::encodeName(filePath()).constData(), O_WRONLY | O_TRUNC);
+ if (fd < 0) {
+ return false;
+ }
+ QFile f;
+ if (!f.open(fd, QIODevice::WriteOnly)) {
+ QT_CLOSE(fd);
+ return false;
+ }
+ writeEntries(locale, f, writeMap);
+ f.close();
+ QT_CLOSE(fd);
+#else
+ QFile f(filePath());
+ // XXX This is broken - it DOES create the file if it is suddenly gone.
+ if (!f.open(QIODevice::WriteOnly | QIODevice::Truncate)) {
+ return false;
+ }
+ f.setTextModeEnabled(true);
+ writeEntries(locale, f, writeMap);
+#endif
+ }
+ return true;
+}
+
+bool KConfigIniBackend::isWritable() const
+{
+ const QString filePath = this->filePath();
+ if (filePath.isEmpty()) {
+ return false;
+ }
+
+ QFileInfo file(filePath);
+ if (file.exists()) {
+ return file.isWritable();
+ }
+
+ // If the file does not exist, check if the deepest existing dir is writable
+ QFileInfo dir(file.absolutePath());
+ while (!dir.exists()) {
+ QString parent = dir.absolutePath(); // Go up. Can't use cdUp() on non-existing dirs.
+ if (parent == dir.filePath()) {
+ // no parent
+ return false;
+ }
+ dir.setFile(parent);
+ }
+ return dir.isDir() && dir.isWritable();
+}
+
+QString KConfigIniBackend::nonWritableErrorMessage() const
+{
+ return tr("Configuration file \"%1\" not writable.\n").arg(filePath());
+}
+
+void KConfigIniBackend::createEnclosing()
+{
+ const QString file = filePath();
+ if (file.isEmpty()) {
+ return; // nothing to do
+ }
+
+ // Create the containing dir, maybe it wasn't there
+ QDir().mkpath(QFileInfo(file).absolutePath());
+}
+
+void KConfigIniBackend::setFilePath(const QString &path)
+{
+ if (path.isEmpty()) {
+ return;
+ }
+
+ Q_ASSERT(QDir::isAbsolutePath(path));
+
+ const QFileInfo info(path);
+ if (info.exists()) {
+ setLocalFilePath(info.canonicalFilePath());
+ return;
+ }
+
+ if (QString filePath = info.dir().canonicalPath(); !filePath.isEmpty()) {
+ filePath += QLatin1Char('/') + info.fileName();
+ setLocalFilePath(filePath);
+ } else {
+ setLocalFilePath(path);
+ }
+}
+
+KConfigBase::AccessMode KConfigIniBackend::accessMode() const
+{
+ if (filePath().isEmpty()) {
+ return KConfigBase::NoAccess;
+ }
+
+ if (isWritable()) {
+ return KConfigBase::ReadWrite;
+ }
+
+ return KConfigBase::ReadOnly;
+}
+
+bool KConfigIniBackend::lock()
+{
+ Q_ASSERT(!filePath().isEmpty());
+
+ m_mutex.lock();
+#ifdef Q_OS_ANDROID
+ if (!lockFile) {
+ // handle content Uris properly
+ if (filePath().startsWith(QLatin1String("content://"))) {
+ // we can't create file at an arbitrary location, so use internal storage to create one
+
+ // NOTE: filename can be the same, but because this lock is short lived we may never have a collision
+ lockFile = new QLockFile(QStandardPaths::writableLocation(QStandardPaths::GenericCacheLocation) + QLatin1String("/")
+ + QFileInfo(filePath()).fileName() + QLatin1String(".lock"));
+ } else {
+ lockFile = new QLockFile(filePath() + QLatin1String(".lock"));
+ }
+ }
+#else
+ if (!lockFile) {
+ lockFile = new QLockFile(filePath() + QLatin1String(".lock"));
+ }
+#endif
+
+ if (!lockFile->lock()) {
+ m_mutex.unlock();
+ }
+
+ return lockFile->isLocked();
+}
+
+void KConfigIniBackend::unlock()
+{
+ lockFile->unlock();
+ delete lockFile;
+ lockFile = nullptr;
+ m_mutex.unlock();
+}
+
+bool KConfigIniBackend::isLocked() const
+{
+ return lockFile && lockFile->isLocked();
+}
+
+namespace
+{
+// serialize an escaped byte at the end of @param data
+// @param data should have room for 4 bytes
+char *escapeByte(char *data, unsigned char s)
+{
+ static const char nibbleLookup[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
+ *data++ = '\\';
+ *data++ = 'x';
+ *data++ = nibbleLookup[s >> 4];
+ *data++ = nibbleLookup[s & 0x0f];
+ return data;
+}
+
+// Struct that represents a multi-byte UTF-8 character.
+// This struct is used to keep track of bytes that seem to be valid
+// UTF-8.
+struct Utf8Char {
+public:
+ unsigned char bytes[4];
+ unsigned char count;
+ unsigned char charLength;
+
+ Utf8Char()
+ {
+ clear();
+ charLength = 0;
+ }
+ void clear()
+ {
+ count = 0;
+ }
+ // Add a byte to the UTF8 character.
+ // When an additional byte leads to an invalid character, return false.
+ bool addByte(unsigned char b)
+ {
+ if (count == 0) {
+ if (b > 0xc1 && (b & 0xe0) == 0xc0) {
+ charLength = 2;
+ } else if ((b & 0xf0) == 0xe0) {
+ charLength = 3;
+ } else if (b < 0xf5 && (b & 0xf8) == 0xf0) {
+ charLength = 4;
+ } else {
+ return false;
+ }
+ bytes[0] = b;
+ count = 1;
+ } else if (count < 4 && (b & 0xc0) == 0x80) {
+ if (count == 1) {
+ if (charLength == 3 && bytes[0] == 0xe0 && b < 0xa0) {
+ return false; // overlong 3 byte sequence
+ }
+ if (charLength == 4) {
+ if (bytes[0] == 0xf0 && b < 0x90) {
+ return false; // overlong 4 byte sequence
+ }
+ if (bytes[0] == 0xf4 && b > 0x8f) {
+ return false; // Unicode value larger than U+10FFFF
+ }
+ }
+ }
+ bytes[count++] = b;
+ } else {
+ return false;
+ }
+ return true;
+ }
+ // Return true if Utf8Char contains one valid character.
+ bool isComplete() const
+ {
+ return count > 0 && count == charLength;
+ }
+ // Add the bytes in this UTF8 character in escaped form to data.
+ char *escapeBytes(char *data)
+ {
+ for (unsigned char i = 0; i < count; ++i) {
+ data = escapeByte(data, bytes[i]);
+ }
+ clear();
+ return data;
+ }
+ // Add the bytes of the UTF8 character to a buffer.
+ // Only call this if isComplete() returns true.
+ char *writeUtf8(char *data)
+ {
+ for (unsigned char i = 0; i < count; ++i) {
+ *data++ = bytes[i];
+ }
+ clear();
+ return data;
+ }
+ // Write the bytes in the UTF8 character literally, or, if the
+ // character is not complete, write the escaped bytes.
+ // This is useful to handle the state that remains after handling
+ // all bytes in a buffer.
+ char *write(char *data)
+ {
+ if (isComplete()) {
+ data = writeUtf8(data);
+ } else {
+ data = escapeBytes(data);
+ }
+ return data;
+ }
+};
+}
+
+QByteArray KConfigIniBackend::stringToPrintable(const QByteArray &aString, StringType type)
+{
+ const int len = aString.size();
+ if (len == 0) {
+ return aString;
+ }
+
+ QByteArray result; // Guesstimated that it's good to avoid data() initialization for a length of len*4
+ result.resize(len * 4); // Maximum 4x as long as source string due to \x<ab> escape sequences
+ const char *s = aString.constData();
+ int i = 0;
+ char *data = result.data();
+ char *start = data;
+
+ // Protect leading space
+ if (s[0] == ' ' && type != GroupString) {
+ *data++ = '\\';
+ *data++ = 's';
+ ++i;
+ }
+ Utf8Char utf8;
+
+ for (; i < len; ++i) {
+ switch (s[i]) {
+ default:
+ if (utf8.addByte(s[i])) {
+ break;
+ } else {
+ data = utf8.escapeBytes(data);
+ }
+ // The \n, \t, \r cases (all < 32) are handled below; we can ignore them here
+ if (((unsigned char)s[i]) < 32) {
+ goto doEscape;
+ }
+ // GroupString and KeyString should be valid UTF-8, but ValueString
+ // can be a bytearray with non-UTF-8 bytes that should be escaped.
+ if (type == ValueString && ((unsigned char)s[i]) >= 127) {
+ goto doEscape;
+ }
+ *data++ = s[i];
+ break;
+ case '\n':
+ *data++ = '\\';
+ *data++ = 'n';
+ break;
+ case '\t':
+ *data++ = '\\';
+ *data++ = 't';
+ break;
+ case '\r':
+ *data++ = '\\';
+ *data++ = 'r';
+ break;
+ case '\\':
+ *data++ = '\\';
+ *data++ = '\\';
+ break;
+ case '=':
+ if (type != KeyString) {
+ *data++ = s[i];
+ break;
+ }
+ goto doEscape;
+ case '[':
+ case ']':
+ // Above chars are OK to put in *value* strings as plaintext
+ if (type == ValueString) {
+ *data++ = s[i];
+ break;
+ }
+ doEscape:
+ data = escapeByte(data, s[i]);
+ break;
+ }
+ if (utf8.isComplete()) {
+ data = utf8.writeUtf8(data);
+ }
+ }
+ data = utf8.write(data);
+ *data = 0;
+ result.resize(data - start);
+
+ // Protect trailing space
+ if (result.endsWith(' ') && type != GroupString) {
+ result.replace(result.length() - 1, 1, "\\s");
+ }
+
+ return result;
+}
+
+char KConfigIniBackend::charFromHex(const char *str, const QFile &file, int line)
+{
+ unsigned char ret = 0;
+ for (int i = 0; i < 2; i++) {
+ ret <<= 4;
+ quint8 c = quint8(str[i]);
+
+ if (c >= '0' && c <= '9') {
+ ret |= c - '0';
+ } else if (c >= 'a' && c <= 'f') {
+ ret |= c - 'a' + 0x0a;
+ } else if (c >= 'A' && c <= 'F') {
+ ret |= c - 'A' + 0x0a;
+ } else {
+ QByteArray e(str, 2);
+ e.prepend("\\x");
+ qCWarning(KCONFIG_CORE_LOG) << warningProlog(file, line) << "Invalid hex character " << c << " in \\x<nn>-type escape sequence \"" << e.constData()
+ << "\".";
+ return 'x';
+ }
+ }
+ return char(ret);
+}
+
+void KConfigIniBackend::printableToString(QByteArrayView &aString, const QFile &file, int line)
+{
+ if (aString.isEmpty() || aString.indexOf('\\') == -1) {
+ return;
+ }
+ aString = aString.trimmed();
+ int l = aString.size();
+ char *r = const_cast<char *>(aString.data());
+ char *str = r;
+
+ for (int i = 0; i < l; i++, r++) {
+ if (str[i] != '\\') {
+ *r = str[i];
+ } else {
+ // Probable escape sequence
+ ++i;
+ if (i >= l) { // Line ends after backslash - stop.
+ *r = '\\';
+ break;
+ }
+
+ switch (str[i]) {
+ case 's':
+ *r = ' ';
+ break;
+ case 't':
+ *r = '\t';
+ break;
+ case 'n':
+ *r = '\n';
+ break;
+ case 'r':
+ *r = '\r';
+ break;
+ case '\\':
+ *r = '\\';
+ break;
+ case ';':
+ // not really an escape sequence, but allowed in .desktop files, don't strip '\;' from the string
+ *r = '\\';
+ ++r;
+ *r = ';';
+ break;
+ case ',':
+ // not really an escape sequence, but allowed in .desktop files, don't strip '\,' from the string
+ *r = '\\';
+ ++r;
+ *r = ',';
+ break;
+ case 'x':
+ if (i + 2 < l) {
+ *r = charFromHex(str + i + 1, file, line);
+ i += 2;
+ } else {
+ *r = 'x';
+ i = l - 1;
+ }
+ break;
+ default:
+ *r = '\\';
+ qCWarning(KCONFIG_CORE_LOG).noquote() << warningProlog(file, line) << QStringLiteral("Invalid escape sequence: «\\%1»").arg(str[i]);
+ }
+ }
+ }
+ aString.truncate(r - aString.constData());
+}
+
+QString KConfigIniBackend::filePath() const
+{
+ return mLocalFilePath;
+}
+
+void KConfigIniBackend::setLocalFilePath(const QString &file)
+{
+ mLocalFilePath = file;
+}
+
+#include "moc_kconfigini_p.cpp"
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2006, 2007 Thomas Braxton <kde.braxton@gmail.com>
+ SPDX-FileCopyrightText: 1999 Preston Brown <pbrown@kde.org>
+ SPDX-FileCopyrightText: 1997 Matthias Kalle Dalheimer <kalle@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGINI_P_H
+#define KCONFIGINI_P_H
+
+#include <QCoreApplication>
+#include <QFile>
+#include <QMutex>
+#include <QSharedData>
+#include <kconfigbase.h>
+#include <kconfigcore_export.h>
+
+class QLockFile;
+class QIODevice;
+class KEntryMap;
+
+class KConfigIniBackend : public QSharedData
+{
+ Q_GADGET
+ Q_DECLARE_TR_FUNCTIONS(KConfigIniBackend)
+
+private:
+ QLockFile *lockFile;
+ QMutex m_mutex;
+
+public:
+ KConfigIniBackend();
+
+ /** Allows the behaviour of parseConfig() to be tuned */
+ enum ParseOption {
+ ParseGlobal = 1, /// entries should be marked as @em global
+ ParseDefaults = 2, /// entries should be marked as @em default
+ ParseExpansions = 4, /// entries are allowed to be marked as @em expandable
+ };
+ Q_FLAG(ParseOption)
+ /// @typedef typedef QFlags<ParseOption> ParseOptions
+ Q_DECLARE_FLAGS(ParseOptions, ParseOption)
+
+ /** Allows the behaviour of writeConfig() to be tuned */
+ enum WriteOption {
+ WriteGlobal = 1 /// only write entries marked as "global"
+ };
+ Q_FLAG(WriteOption)
+ /// @typedef typedef QFlags<WriteOption> WriteOptions
+ Q_DECLARE_FLAGS(WriteOptions, WriteOption)
+
+ /** Return value from parseConfig() */
+ enum ParseInfo {
+ ParseOk, /// the configuration was opened read/write
+ ParseImmutable, /// the configuration is @em immutable
+ ParseOpenError, /// the configuration could not be opened
+ };
+
+ ParseInfo parseConfig(const QByteArray &locale, KEntryMap &entryMap, ParseOptions options);
+ ParseInfo parseConfig(const QByteArray &locale, KEntryMap &entryMap, ParseOptions options, bool merging);
+ bool writeConfig(const QByteArray &locale, KEntryMap &entryMap, WriteOptions options);
+
+ bool isWritable() const;
+ QString nonWritableErrorMessage() const;
+ KConfigBase::AccessMode accessMode() const;
+ void createEnclosing();
+ void setFilePath(const QString &path);
+ bool lock();
+ void unlock();
+ bool isLocked() const;
+
+ /** @return the absolute path to the object */
+ QString filePath() const;
+
+private:
+ enum StringType {
+ GroupString = 0,
+ KeyString = 1,
+ ValueString = 2,
+ };
+ // Warning: this modifies data in-place. Other QByteArrayView objects referencing the same buffer
+ // fragment will get their data modified too.
+ static void printableToString(QByteArrayView &aString, const QFile &file, int line);
+ static QByteArray stringToPrintable(const QByteArray &aString, StringType type);
+ static char charFromHex(const char *str, const QFile &file, int line);
+ static QString warningProlog(const QFile &file, int line);
+
+ void writeEntries(const QByteArray &locale, QIODevice &file, const KEntryMap &map);
+ void writeEntries(const QByteArray &locale, QIODevice &file, const KEntryMap &map, bool defaultGroup, bool &firstEntry);
+
+ void setLocalFilePath(const QString &file);
+
+ QString mLocalFilePath;
+};
+
+Q_DECLARE_OPERATORS_FOR_FLAGS(KConfigIniBackend::ParseOptions)
+Q_DECLARE_OPERATORS_FOR_FLAGS(KConfigIniBackend::WriteOptions)
+
+#endif // KCONFIGINI_P_H
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2018 David Edmundson <davidedmundson@kde.org>
+ SPDX-FileCopyrightText: 2023 Harald Sitter <sitter@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfigwatcher.h"
+
+#include "config-kconfig.h"
+#include "kconfig_core_log_settings.h"
+
+#if KCONFIG_USE_DBUS
+#include <QDBusConnection>
+#include <QDBusMessage>
+#include <QDBusMetaType>
+
+#include "dbussanitizer_p.h"
+#endif
+
+#include <QDebug>
+#include <QHash>
+#include <QThreadStorage>
+
+class KConfigWatcherPrivate
+{
+public:
+ KSharedConfig::Ptr m_config;
+};
+
+KConfigWatcher::Ptr KConfigWatcher::create(const KSharedConfig::Ptr &config)
+{
+ static QThreadStorage<QHash<KSharedConfig *, QWeakPointer<KConfigWatcher>>> watcherList;
+
+ auto c = config.data();
+ KConfigWatcher::Ptr watcher;
+
+ if (!watcherList.localData().contains(c)) {
+ watcher = KConfigWatcher::Ptr(new KConfigWatcher(config));
+
+ watcherList.localData().insert(c, watcher.toWeakRef());
+
+ QObject::connect(watcher.data(), &QObject::destroyed, [c]() {
+ watcherList.localData().remove(c);
+ });
+ }
+ return watcherList.localData().value(c).toStrongRef();
+}
+
+KConfigWatcher::KConfigWatcher(const KSharedConfig::Ptr &config)
+ : QObject(nullptr)
+ , d(new KConfigWatcherPrivate)
+{
+ Q_ASSERT(config);
+ d->m_config = config;
+ if (config->name().isEmpty()) {
+ return;
+ }
+
+ // Watching absolute paths is not supported and also makes no sense.
+ const bool isAbsolutePath = config->name().at(0) == QLatin1Char('/');
+ if (isAbsolutePath) {
+ qCWarning(KCONFIG_CORE_LOG) << "Watching absolute paths is not supported" << config->name();
+ return;
+ }
+
+#if KCONFIG_USE_DBUS
+ qDBusRegisterMetaType<QByteArrayList>();
+ qDBusRegisterMetaType<QHash<QString, QByteArrayList>>();
+
+ QStringList watchedPaths = d->m_config->additionalConfigSources();
+ for (QString &file : watchedPaths) {
+ file.prepend(QLatin1Char('/'));
+ }
+ watchedPaths.prepend(kconfigDBusSanitizePath(QLatin1Char('/') + d->m_config->name()));
+
+ if (d->m_config->openFlags() & KConfig::IncludeGlobals) {
+ watchedPaths << QStringLiteral("/kdeglobals");
+ }
+
+ for (const QString &path : std::as_const(watchedPaths)) {
+ QDBusConnection::sessionBus().connect(QString(),
+ path,
+ QStringLiteral("org.kde.kconfig.notify"),
+ QStringLiteral("ConfigChanged"),
+ this,
+ // clang-format off
+ SLOT(onConfigChangeNotification(QHash<QString,QByteArrayList>))
+ // clang-format on
+ );
+ }
+#endif
+}
+
+KConfigWatcher::~KConfigWatcher() = default;
+
+KSharedConfig::Ptr KConfigWatcher::config() const
+{
+ return d->m_config;
+}
+
+void KConfigWatcher::onConfigChangeNotification(const QHash<QString, QByteArrayList> &changes)
+{
+ // should we ever need it we can determine the file changed with QDbusContext::message().path(), but it doesn't seem too useful
+
+ d->m_config->reparseConfiguration();
+
+ for (auto it = changes.constBegin(); it != changes.constEnd(); it++) {
+ KConfigGroup group = d->m_config->group(QString()); // top level group
+ const auto parts = it.key().split(QLatin1Char('\x1d')); // magic char, see KConfig
+ for (const QString &groupName : parts) {
+ group = group.group(groupName);
+ }
+ Q_EMIT configChanged(group, it.value());
+ }
+}
+
+#include "moc_kconfigwatcher.cpp"
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2018 David Edmundson <davidedmundson@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGWATCHER_H
+#define KCONFIGWATCHER_H
+
+#include <QObject>
+#include <QSharedPointer>
+
+#include <KConfigGroup>
+#include <KSharedConfig>
+
+#include <kconfigcore_export.h>
+
+class KConfigWatcherPrivate;
+
+/**
+ * \class KConfigWatcher kconfigwatcher.h <KConfigWatcher>
+ *
+ * Notifies when another client has updated this config file with the Notify flag set.
+ * @since 5.51
+ */
+class KCONFIGCORE_EXPORT KConfigWatcher : public QObject
+{
+ Q_OBJECT
+public:
+ typedef QSharedPointer<KConfigWatcher> Ptr;
+
+ /**
+ * Instantiate a ConfigWatcher for a given config
+ *
+ * @note any additional config sources should be set before this point.
+ */
+ static Ptr create(const KSharedConfig::Ptr &config);
+
+ ~KConfigWatcher() override;
+
+ /**
+ * Returns the config being watched
+ * @since 5.66
+ */
+ KSharedConfig::Ptr config() const;
+
+Q_SIGNALS:
+ /**
+ * Emitted when a config group has changed
+ * The config will be reloaded before this signal is emitted
+ *
+ * @arg group the config group that has changed
+ * @arg names a list of entries that have changed within that group (UTF-8 encoded)
+ */
+ void configChanged(const KConfigGroup &group, const QByteArrayList &names);
+
+private Q_SLOTS:
+ KCONFIGCORE_NO_EXPORT void onConfigChangeNotification(const QHash<QString, QByteArrayList> &changes);
+
+private:
+ KCONFIGCORE_NO_EXPORT explicit KConfigWatcher(const KSharedConfig::Ptr &config);
+ Q_DISABLE_COPY(KConfigWatcher)
+ const QScopedPointer<KConfigWatcherPrivate> d;
+};
+
+#endif
--- /dev/null
+/*
+ This file is part of KOrganizer.
+ SPDX-FileCopyrightText: 2000, 2001 Cornelius Schumacher <schumacher@kde.org>
+ SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kcoreconfigskeleton.h"
+#include "kcoreconfigskeleton_p.h"
+
+#include <QUrl>
+
+#include <algorithm>
+
+static QString obscuredString(const QString &str)
+{
+ QString result;
+ const QChar *unicode = str.unicode();
+ for (int i = 0; i < str.length(); ++i) {
+ // yes, no typo. can't encode ' ' or '!' because
+ // they're the unicode BOM. stupid scrambling. stupid.
+ result += (unicode[i].unicode() <= 0x21) ? unicode[i] : QChar(0x1001F - unicode[i].unicode());
+ }
+
+ return result;
+}
+
+KConfigSkeletonItemPrivate::~KConfigSkeletonItemPrivate() = default;
+
+KConfigSkeletonItem::KConfigSkeletonItem(const QString &_group, const QString &_key)
+ : mGroup(_group)
+ , mKey(_key)
+ , d_ptr(new KConfigSkeletonItemPrivate)
+{
+}
+
+KConfigSkeletonItem::KConfigSkeletonItem(KConfigSkeletonItemPrivate &dd, const QString &_group, const QString &_key)
+ : mGroup(_group)
+ , mKey(_key)
+ , d_ptr(&dd)
+{
+}
+
+KConfigSkeletonItem::~KConfigSkeletonItem()
+{
+ delete d_ptr;
+}
+
+void KConfigSkeletonItem::setGroup(const QString &_group)
+{
+ mGroup = _group;
+}
+
+void KConfigSkeletonItem::setGroup(const KConfigGroup &cg)
+{
+ Q_D(KConfigSkeletonItem);
+ d->mConfigGroup = cg;
+}
+
+KConfigGroup KConfigSkeletonItem::configGroup(KConfig *config) const
+{
+ Q_D(const KConfigSkeletonItem);
+ if (d->mConfigGroup.isValid()) {
+ return d->mConfigGroup;
+ }
+ return KConfigGroup(config, mGroup);
+}
+
+QString KConfigSkeletonItem::group() const
+{
+ return mGroup;
+}
+
+void KConfigSkeletonItem::setKey(const QString &_key)
+{
+ mKey = _key;
+}
+
+QString KConfigSkeletonItem::key() const
+{
+ return mKey;
+}
+
+void KConfigSkeletonItem::setName(const QString &_name)
+{
+ mName = _name;
+}
+
+QString KConfigSkeletonItem::name() const
+{
+ return mName;
+}
+
+void KConfigSkeletonItem::setLabel(const QString &l)
+{
+ Q_D(KConfigSkeletonItem);
+ d->mLabel = l;
+}
+
+QString KConfigSkeletonItem::label() const
+{
+ Q_D(const KConfigSkeletonItem);
+ return d->mLabel;
+}
+
+void KConfigSkeletonItem::setToolTip(const QString &t)
+{
+ Q_D(KConfigSkeletonItem);
+ d->mToolTip = t;
+}
+
+QString KConfigSkeletonItem::toolTip() const
+{
+ Q_D(const KConfigSkeletonItem);
+ return d->mToolTip;
+}
+
+void KConfigSkeletonItem::setWhatsThis(const QString &w)
+{
+ Q_D(KConfigSkeletonItem);
+ d->mWhatsThis = w;
+}
+
+QString KConfigSkeletonItem::whatsThis() const
+{
+ Q_D(const KConfigSkeletonItem);
+ return d->mWhatsThis;
+}
+
+void KConfigSkeletonItem::setWriteFlags(KConfigBase::WriteConfigFlags flags)
+{
+ Q_D(KConfigSkeletonItem);
+ d->mWriteFlags = flags;
+}
+
+KConfigBase::WriteConfigFlags KConfigSkeletonItem::writeFlags() const
+{
+ Q_D(const KConfigSkeletonItem);
+ return d->mWriteFlags;
+}
+
+QVariant KConfigSkeletonItem::minValue() const
+{
+ return QVariant();
+}
+
+QVariant KConfigSkeletonItem::maxValue() const
+{
+ return QVariant();
+}
+
+bool KConfigSkeletonItem::isImmutable() const
+{
+ Q_D(const KConfigSkeletonItem);
+ return d->mIsImmutable;
+}
+
+bool KConfigSkeletonItem::isDefault() const
+{
+ Q_D(const KConfigSkeletonItem);
+ return d->mIsDefaultImpl();
+}
+
+bool KConfigSkeletonItem::isSaveNeeded() const
+{
+ Q_D(const KConfigSkeletonItem);
+ return d->mIsSaveNeededImpl();
+}
+
+QVariant KConfigSkeletonItem::getDefault() const
+{
+ Q_D(const KConfigSkeletonItem);
+ return d->mGetDefaultImpl();
+}
+
+void KConfigSkeletonItem::readImmutability(const KConfigGroup &group)
+{
+ Q_D(KConfigSkeletonItem);
+ d->mIsImmutable = group.isEntryImmutable(mKey);
+}
+
+void KConfigSkeletonItem::setIsDefaultImpl(const std::function<bool()> &impl)
+{
+ Q_D(KConfigSkeletonItem);
+ d->mIsDefaultImpl = impl;
+}
+
+void KConfigSkeletonItem::setIsSaveNeededImpl(const std::function<bool()> &impl)
+{
+ Q_D(KConfigSkeletonItem);
+ d->mIsSaveNeededImpl = impl;
+}
+
+void KConfigSkeletonItem::setGetDefaultImpl(const std::function<QVariant()> &impl)
+{
+ Q_D(KConfigSkeletonItem);
+ d->mGetDefaultImpl = impl;
+}
+
+KPropertySkeletonItem::KPropertySkeletonItem(QObject *object, const QByteArray &propertyName, const QVariant &defaultValue)
+ : KConfigSkeletonItem(*new KPropertySkeletonItemPrivate(object, propertyName, defaultValue), {}, {})
+{
+ setIsDefaultImpl([this] {
+ Q_D(const KPropertySkeletonItem);
+ return d->mReference == d->mDefaultValue;
+ });
+ setIsSaveNeededImpl([this] {
+ Q_D(const KPropertySkeletonItem);
+ return d->mReference != d->mLoadedValue;
+ });
+ setGetDefaultImpl([this] {
+ Q_D(const KPropertySkeletonItem);
+ return d->mDefaultValue;
+ });
+}
+
+QVariant KPropertySkeletonItem::property() const
+{
+ Q_D(const KPropertySkeletonItem);
+ return d->mReference;
+}
+
+void KPropertySkeletonItem::setProperty(const QVariant &p)
+{
+ Q_D(KPropertySkeletonItem);
+ if (d->mReference == p) {
+ return;
+ }
+ d->mReference = p;
+ if (d->mNotifyFunction) {
+ d->mNotifyFunction();
+ }
+}
+
+bool KPropertySkeletonItem::isEqual(const QVariant &p) const
+{
+ Q_D(const KPropertySkeletonItem);
+ return d->mReference == p;
+}
+
+void KPropertySkeletonItem::readConfig(KConfig *)
+{
+ Q_D(KPropertySkeletonItem);
+ setProperty(d->mObject->property(d->mPropertyName.constData()));
+ d->mLoadedValue = d->mReference;
+}
+
+void KPropertySkeletonItem::writeConfig(KConfig *)
+{
+ Q_D(KPropertySkeletonItem);
+ d->mObject->setProperty(d->mPropertyName.constData(), d->mReference);
+ d->mLoadedValue = d->mReference;
+}
+
+void KPropertySkeletonItem::readDefault(KConfig *)
+{
+ Q_D(KPropertySkeletonItem);
+ setProperty(d->mConstDefaultValue);
+}
+
+void KPropertySkeletonItem::setDefault()
+{
+ Q_D(KPropertySkeletonItem);
+ setProperty(d->mDefaultValue);
+}
+
+void KPropertySkeletonItem::swapDefault()
+{
+ Q_D(KPropertySkeletonItem);
+ if (d->mReference == d->mDefaultValue) {
+ return;
+ }
+ std::swap(d->mReference, d->mDefaultValue);
+ if (d->mNotifyFunction) {
+ d->mNotifyFunction();
+ }
+}
+
+void KPropertySkeletonItem::setNotifyFunction(const std::function<void()> &impl)
+{
+ Q_D(KPropertySkeletonItem);
+ d->mNotifyFunction = impl;
+}
+
+KCoreConfigSkeleton::ItemString::ItemString(const QString &_group, const QString &_key, QString &reference, const QString &defaultValue, Type type)
+ : KConfigSkeletonGenericItem<QString>(_group, _key, reference, defaultValue)
+ , mType(type)
+{
+}
+
+void KCoreConfigSkeleton::ItemString::writeConfig(KConfig *config)
+{
+ if (mReference != mLoadedValue) { // WABA: Is this test needed?
+ KConfigGroup cg = configGroup(config);
+ if ((mDefault == mReference) && !cg.hasDefault(mKey)) {
+ cg.revertToDefault(mKey, writeFlags());
+ } else if (mType == Path) {
+ cg.writePathEntry(mKey, mReference, writeFlags());
+ } else if (mType == Password) {
+ cg.writeEntry(mKey, obscuredString(mReference), writeFlags());
+ } else {
+ cg.writeEntry(mKey, mReference, writeFlags());
+ }
+ mLoadedValue = mReference;
+ }
+}
+
+void KCoreConfigSkeleton::ItemString::readConfig(KConfig *config)
+{
+ KConfigGroup cg = configGroup(config);
+
+ if (mType == Path) {
+ mReference = cg.readPathEntry(mKey, mDefault);
+ } else if (mType == Password) {
+ QString val = cg.readEntry(mKey, obscuredString(mDefault));
+ mReference = obscuredString(val);
+ } else {
+ mReference = cg.readEntry(mKey, mDefault);
+ }
+
+ mLoadedValue = mReference;
+
+ readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemString::setProperty(const QVariant &p)
+{
+ mReference = p.toString();
+}
+
+bool KCoreConfigSkeleton::ItemString::isEqual(const QVariant &v) const
+{
+ return mReference == v.toString();
+}
+
+QVariant KCoreConfigSkeleton::ItemString::property() const
+{
+ return QVariant(mReference);
+}
+
+KCoreConfigSkeleton::ItemPassword::ItemPassword(const QString &_group, const QString &_key, QString &reference, const QString &defaultValue)
+ : ItemString(_group, _key, reference, defaultValue, Password)
+{
+}
+
+KCoreConfigSkeleton::ItemPath::ItemPath(const QString &_group, const QString &_key, QString &reference, const QString &defaultValue)
+ : ItemString(_group, _key, reference, defaultValue, Path)
+{
+}
+
+KCoreConfigSkeleton::ItemUrl::ItemUrl(const QString &_group, const QString &_key, QUrl &reference, const QUrl &defaultValue)
+ : KConfigSkeletonGenericItem<QUrl>(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemUrl::writeConfig(KConfig *config)
+{
+ if (mReference != mLoadedValue) { // WABA: Is this test needed?
+ KConfigGroup cg = configGroup(config);
+ if ((mDefault == mReference) && !cg.hasDefault(mKey)) {
+ cg.revertToDefault(mKey, writeFlags());
+ } else {
+ cg.writeEntry<QString>(mKey, mReference.toString(), writeFlags());
+ }
+ mLoadedValue = mReference;
+ }
+}
+
+void KCoreConfigSkeleton::ItemUrl::readConfig(KConfig *config)
+{
+ KConfigGroup cg = configGroup(config);
+
+ mReference = QUrl(cg.readEntry<QString>(mKey, mDefault.toString()));
+ mLoadedValue = mReference;
+
+ readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemUrl::setProperty(const QVariant &p)
+{
+ mReference = qvariant_cast<QUrl>(p);
+}
+
+bool KCoreConfigSkeleton::ItemUrl::isEqual(const QVariant &v) const
+{
+ return mReference == qvariant_cast<QUrl>(v);
+}
+
+QVariant KCoreConfigSkeleton::ItemUrl::property() const
+{
+ return QVariant::fromValue<QUrl>(mReference);
+}
+
+KCoreConfigSkeleton::ItemProperty::ItemProperty(const QString &_group, const QString &_key, QVariant &reference, const QVariant &defaultValue)
+ : KConfigSkeletonGenericItem<QVariant>(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemProperty::readConfig(KConfig *config)
+{
+ KConfigGroup cg = configGroup(config);
+ mReference = cg.readEntry(mKey, mDefault);
+ mLoadedValue = mReference;
+
+ readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemProperty::setProperty(const QVariant &p)
+{
+ mReference = p;
+}
+
+bool KCoreConfigSkeleton::ItemProperty::isEqual(const QVariant &v) const
+{
+ // this might cause problems if the QVariants are not of default types
+ return mReference == v;
+}
+
+QVariant KCoreConfigSkeleton::ItemProperty::property() const
+{
+ return mReference;
+}
+
+KCoreConfigSkeleton::ItemBool::ItemBool(const QString &_group, const QString &_key, bool &reference, bool defaultValue)
+ : KConfigSkeletonGenericItem<bool>(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemBool::readConfig(KConfig *config)
+{
+ KConfigGroup cg = configGroup(config);
+ mReference = cg.readEntry(mKey, mDefault);
+ mLoadedValue = mReference;
+
+ readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemBool::setProperty(const QVariant &p)
+{
+ mReference = p.toBool();
+}
+
+bool KCoreConfigSkeleton::ItemBool::isEqual(const QVariant &v) const
+{
+ return mReference == v.toBool();
+}
+
+QVariant KCoreConfigSkeleton::ItemBool::property() const
+{
+ return QVariant(mReference);
+}
+
+KCoreConfigSkeleton::ItemInt::ItemInt(const QString &_group, const QString &_key, qint32 &reference, qint32 defaultValue)
+ : KConfigSkeletonGenericItem<qint32>(_group, _key, reference, defaultValue)
+ , mHasMin(false)
+ , mHasMax(false)
+{
+}
+
+void KCoreConfigSkeleton::ItemInt::readConfig(KConfig *config)
+{
+ KConfigGroup cg = configGroup(config);
+ mReference = cg.readEntry(mKey, mDefault);
+ if (mHasMin) {
+ mReference = qMax(mReference, mMin);
+ }
+ if (mHasMax) {
+ mReference = qMin(mReference, mMax);
+ }
+ mLoadedValue = mReference;
+
+ readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemInt::setProperty(const QVariant &p)
+{
+ mReference = p.toInt();
+}
+
+bool KCoreConfigSkeleton::ItemInt::isEqual(const QVariant &v) const
+{
+ return mReference == v.toInt();
+}
+
+QVariant KCoreConfigSkeleton::ItemInt::property() const
+{
+ return QVariant(mReference);
+}
+
+QVariant KCoreConfigSkeleton::ItemInt::minValue() const
+{
+ if (mHasMin) {
+ return QVariant(mMin);
+ }
+ return QVariant();
+}
+
+QVariant KCoreConfigSkeleton::ItemInt::maxValue() const
+{
+ if (mHasMax) {
+ return QVariant(mMax);
+ }
+ return QVariant();
+}
+
+void KCoreConfigSkeleton::ItemInt::setMinValue(qint32 v)
+{
+ mHasMin = true;
+ mMin = v;
+}
+
+void KCoreConfigSkeleton::ItemInt::setMaxValue(qint32 v)
+{
+ mHasMax = true;
+ mMax = v;
+}
+
+KCoreConfigSkeleton::ItemLongLong::ItemLongLong(const QString &_group, const QString &_key, qint64 &reference, qint64 defaultValue)
+ : KConfigSkeletonGenericItem<qint64>(_group, _key, reference, defaultValue)
+ , mHasMin(false)
+ , mHasMax(false)
+{
+}
+
+void KCoreConfigSkeleton::ItemLongLong::readConfig(KConfig *config)
+{
+ KConfigGroup cg = configGroup(config);
+ mReference = cg.readEntry(mKey, mDefault);
+ if (mHasMin) {
+ mReference = qMax(mReference, mMin);
+ }
+ if (mHasMax) {
+ mReference = qMin(mReference, mMax);
+ }
+ mLoadedValue = mReference;
+
+ readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemLongLong::setProperty(const QVariant &p)
+{
+ mReference = p.toLongLong();
+}
+
+bool KCoreConfigSkeleton::ItemLongLong::isEqual(const QVariant &v) const
+{
+ return mReference == v.toLongLong();
+}
+
+QVariant KCoreConfigSkeleton::ItemLongLong::property() const
+{
+ return QVariant(mReference);
+}
+
+QVariant KCoreConfigSkeleton::ItemLongLong::minValue() const
+{
+ if (mHasMin) {
+ return QVariant(mMin);
+ }
+ return QVariant();
+}
+
+QVariant KCoreConfigSkeleton::ItemLongLong::maxValue() const
+{
+ if (mHasMax) {
+ return QVariant(mMax);
+ }
+ return QVariant();
+}
+
+void KCoreConfigSkeleton::ItemLongLong::setMinValue(qint64 v)
+{
+ mHasMin = true;
+ mMin = v;
+}
+
+void KCoreConfigSkeleton::ItemLongLong::setMaxValue(qint64 v)
+{
+ mHasMax = true;
+ mMax = v;
+}
+
+QString KCoreConfigSkeleton::ItemEnum::valueForChoice(const QString &name) const
+{
+ for (auto it = mChoices.cbegin(); it != mChoices.cend(); ++it) {
+ if (it->name == name) {
+ return it->value.isEmpty() ? it->name : it->value;
+ }
+ }
+ return name;
+}
+
+void KCoreConfigSkeleton::ItemEnum::setValueForChoice(const QString &name, const QString &value)
+{
+ for (auto it = mChoices.begin(); it != mChoices.end(); ++it) {
+ if (it->name == name) {
+ it->value = value;
+ return;
+ }
+ }
+}
+
+KCoreConfigSkeleton::ItemEnum::ItemEnum(const QString &_group, const QString &_key, qint32 &reference, const QList<Choice> &choices, qint32 defaultValue)
+ : ItemInt(_group, _key, reference, defaultValue)
+ , mChoices(choices)
+{
+}
+
+void KCoreConfigSkeleton::ItemEnum::readConfig(KConfig *config)
+{
+ KConfigGroup cg = configGroup(config);
+ if (!cg.hasKey(mKey)) {
+ mReference = mDefault;
+ } else {
+ int i = 0;
+ mReference = -1;
+ const QString entryString = cg.readEntry(mKey, QString());
+ for (auto it = mChoices.cbegin(); it != mChoices.cend(); ++it, ++i) {
+ QString choiceName = (*it).name;
+ if (valueForChoice(choiceName).compare(entryString, Qt::CaseInsensitive) == 0) {
+ mReference = i;
+ break;
+ }
+ }
+ if (mReference == -1) {
+ mReference = cg.readEntry(mKey, mDefault);
+ }
+ }
+ mLoadedValue = mReference;
+
+ readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemEnum::writeConfig(KConfig *config)
+{
+ if (mReference != mLoadedValue) { // WABA: Is this test needed?
+ KConfigGroup cg = configGroup(config);
+ if ((mDefault == mReference) && !cg.hasDefault(mKey)) {
+ cg.revertToDefault(mKey, writeFlags());
+ } else if ((mReference >= 0) && (mReference < mChoices.count())) {
+ cg.writeEntry(mKey, valueForChoice(mChoices.at(mReference).name), writeFlags());
+ } else {
+ cg.writeEntry(mKey, mReference, writeFlags());
+ }
+ mLoadedValue = mReference;
+ }
+}
+
+QList<KCoreConfigSkeleton::ItemEnum::Choice> KCoreConfigSkeleton::ItemEnum::choices() const
+{
+ return mChoices;
+}
+
+KCoreConfigSkeleton::ItemUInt::ItemUInt(const QString &_group, const QString &_key, quint32 &reference, quint32 defaultValue)
+ : KConfigSkeletonGenericItem<quint32>(_group, _key, reference, defaultValue)
+ , mHasMin(false)
+ , mHasMax(false)
+{
+}
+
+void KCoreConfigSkeleton::ItemUInt::readConfig(KConfig *config)
+{
+ KConfigGroup cg = configGroup(config);
+ mReference = cg.readEntry(mKey, mDefault);
+ if (mHasMin) {
+ mReference = qMax(mReference, mMin);
+ }
+ if (mHasMax) {
+ mReference = qMin(mReference, mMax);
+ }
+ mLoadedValue = mReference;
+
+ readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemUInt::setProperty(const QVariant &p)
+{
+ mReference = p.toUInt();
+}
+
+bool KCoreConfigSkeleton::ItemUInt::isEqual(const QVariant &v) const
+{
+ return mReference == v.toUInt();
+}
+
+QVariant KCoreConfigSkeleton::ItemUInt::property() const
+{
+ return QVariant(mReference);
+}
+
+QVariant KCoreConfigSkeleton::ItemUInt::minValue() const
+{
+ if (mHasMin) {
+ return QVariant(mMin);
+ }
+ return QVariant();
+}
+
+QVariant KCoreConfigSkeleton::ItemUInt::maxValue() const
+{
+ if (mHasMax) {
+ return QVariant(mMax);
+ }
+ return QVariant();
+}
+
+void KCoreConfigSkeleton::ItemUInt::setMinValue(quint32 v)
+{
+ mHasMin = true;
+ mMin = v;
+}
+
+void KCoreConfigSkeleton::ItemUInt::setMaxValue(quint32 v)
+{
+ mHasMax = true;
+ mMax = v;
+}
+
+KCoreConfigSkeleton::ItemULongLong::ItemULongLong(const QString &_group, const QString &_key, quint64 &reference, quint64 defaultValue)
+ : KConfigSkeletonGenericItem<quint64>(_group, _key, reference, defaultValue)
+ , mHasMin(false)
+ , mHasMax(false)
+{
+}
+
+void KCoreConfigSkeleton::ItemULongLong::readConfig(KConfig *config)
+{
+ KConfigGroup cg = configGroup(config);
+ mReference = cg.readEntry(mKey, mDefault);
+ if (mHasMin) {
+ mReference = qMax(mReference, mMin);
+ }
+ if (mHasMax) {
+ mReference = qMin(mReference, mMax);
+ }
+ mLoadedValue = mReference;
+
+ readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemULongLong::setProperty(const QVariant &p)
+{
+ mReference = p.toULongLong();
+}
+
+bool KCoreConfigSkeleton::ItemULongLong::isEqual(const QVariant &v) const
+{
+ return mReference == v.toULongLong();
+}
+
+QVariant KCoreConfigSkeleton::ItemULongLong::property() const
+{
+ return QVariant(mReference);
+}
+
+QVariant KCoreConfigSkeleton::ItemULongLong::minValue() const
+{
+ if (mHasMin) {
+ return QVariant(mMin);
+ }
+ return QVariant();
+}
+
+QVariant KCoreConfigSkeleton::ItemULongLong::maxValue() const
+{
+ if (mHasMax) {
+ return QVariant(mMax);
+ }
+ return QVariant();
+}
+
+void KCoreConfigSkeleton::ItemULongLong::setMinValue(quint64 v)
+{
+ mHasMin = true;
+ mMin = v;
+}
+
+void KCoreConfigSkeleton::ItemULongLong::setMaxValue(quint64 v)
+{
+ mHasMax = true;
+ mMax = v;
+}
+
+KCoreConfigSkeleton::ItemDouble::ItemDouble(const QString &_group, const QString &_key, double &reference, double defaultValue)
+ : KConfigSkeletonGenericItem<double>(_group, _key, reference, defaultValue)
+ , mHasMin(false)
+ , mHasMax(false)
+{
+}
+
+void KCoreConfigSkeleton::ItemDouble::readConfig(KConfig *config)
+{
+ KConfigGroup cg = configGroup(config);
+ mReference = cg.readEntry(mKey, mDefault);
+ if (mHasMin) {
+ mReference = qMax(mReference, mMin);
+ }
+ if (mHasMax) {
+ mReference = qMin(mReference, mMax);
+ }
+ mLoadedValue = mReference;
+
+ readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemDouble::setProperty(const QVariant &p)
+{
+ mReference = p.toDouble();
+}
+
+bool KCoreConfigSkeleton::ItemDouble::isEqual(const QVariant &v) const
+{
+ return mReference == v.toDouble();
+}
+
+QVariant KCoreConfigSkeleton::ItemDouble::property() const
+{
+ return QVariant(mReference);
+}
+
+QVariant KCoreConfigSkeleton::ItemDouble::minValue() const
+{
+ if (mHasMin) {
+ return QVariant(mMin);
+ }
+ return QVariant();
+}
+
+QVariant KCoreConfigSkeleton::ItemDouble::maxValue() const
+{
+ if (mHasMax) {
+ return QVariant(mMax);
+ }
+ return QVariant();
+}
+
+void KCoreConfigSkeleton::ItemDouble::setMinValue(double v)
+{
+ mHasMin = true;
+ mMin = v;
+}
+
+void KCoreConfigSkeleton::ItemDouble::setMaxValue(double v)
+{
+ mHasMax = true;
+ mMax = v;
+}
+
+KCoreConfigSkeleton::ItemRect::ItemRect(const QString &_group, const QString &_key, QRect &reference, const QRect &defaultValue)
+ : KConfigSkeletonGenericItem<QRect>(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemRect::readConfig(KConfig *config)
+{
+ KConfigGroup cg = configGroup(config);
+ mReference = cg.readEntry(mKey, mDefault);
+ mLoadedValue = mReference;
+
+ readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemRect::setProperty(const QVariant &p)
+{
+ mReference = p.toRect();
+}
+
+bool KCoreConfigSkeleton::ItemRect::isEqual(const QVariant &v) const
+{
+ return mReference == v.toRect();
+}
+
+QVariant KCoreConfigSkeleton::ItemRect::property() const
+{
+ return QVariant(mReference);
+}
+
+KCoreConfigSkeleton::ItemRectF::ItemRectF(const QString &_group, const QString &_key, QRectF &reference, const QRectF &defaultValue)
+ : KConfigSkeletonGenericItem<QRectF>(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemRectF::readConfig(KConfig *config)
+{
+ KConfigGroup cg = configGroup(config);
+ mReference = cg.readEntry(mKey, mDefault);
+ mLoadedValue = mReference;
+
+ readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemRectF::setProperty(const QVariant &p)
+{
+ mReference = p.toRectF();
+}
+
+bool KCoreConfigSkeleton::ItemRectF::isEqual(const QVariant &v) const
+{
+ return mReference == v.toRectF();
+}
+
+QVariant KCoreConfigSkeleton::ItemRectF::property() const
+{
+ return QVariant(mReference);
+}
+
+KCoreConfigSkeleton::ItemPoint::ItemPoint(const QString &_group, const QString &_key, QPoint &reference, const QPoint &defaultValue)
+ : KConfigSkeletonGenericItem<QPoint>(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemPoint::readConfig(KConfig *config)
+{
+ KConfigGroup cg = configGroup(config);
+ mReference = cg.readEntry(mKey, mDefault);
+ mLoadedValue = mReference;
+
+ readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemPoint::setProperty(const QVariant &p)
+{
+ mReference = p.toPoint();
+}
+
+bool KCoreConfigSkeleton::ItemPoint::isEqual(const QVariant &v) const
+{
+ return mReference == v.toPoint();
+}
+
+QVariant KCoreConfigSkeleton::ItemPoint::property() const
+{
+ return QVariant(mReference);
+}
+
+KCoreConfigSkeleton::ItemPointF::ItemPointF(const QString &_group, const QString &_key, QPointF &reference, const QPointF &defaultValue)
+ : KConfigSkeletonGenericItem<QPointF>(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemPointF::readConfig(KConfig *config)
+{
+ KConfigGroup cg = configGroup(config);
+ mReference = cg.readEntry(mKey, mDefault);
+ mLoadedValue = mReference;
+
+ readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemPointF::setProperty(const QVariant &p)
+{
+ mReference = p.toPointF();
+}
+
+bool KCoreConfigSkeleton::ItemPointF::isEqual(const QVariant &v) const
+{
+ return mReference == v.toPointF();
+}
+
+QVariant KCoreConfigSkeleton::ItemPointF::property() const
+{
+ return QVariant(mReference);
+}
+
+KCoreConfigSkeleton::ItemSize::ItemSize(const QString &_group, const QString &_key, QSize &reference, const QSize &defaultValue)
+ : KConfigSkeletonGenericItem<QSize>(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemSize::readConfig(KConfig *config)
+{
+ KConfigGroup cg = configGroup(config);
+ mReference = cg.readEntry(mKey, mDefault);
+ mLoadedValue = mReference;
+
+ readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemSize::setProperty(const QVariant &p)
+{
+ mReference = p.toSize();
+}
+
+bool KCoreConfigSkeleton::ItemSize::isEqual(const QVariant &v) const
+{
+ return mReference == v.toSize();
+}
+
+QVariant KCoreConfigSkeleton::ItemSize::property() const
+{
+ return QVariant(mReference);
+}
+
+KCoreConfigSkeleton::ItemSizeF::ItemSizeF(const QString &_group, const QString &_key, QSizeF &reference, const QSizeF &defaultValue)
+ : KConfigSkeletonGenericItem<QSizeF>(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemSizeF::readConfig(KConfig *config)
+{
+ KConfigGroup cg = configGroup(config);
+ mReference = cg.readEntry(mKey, mDefault);
+ mLoadedValue = mReference;
+
+ readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemSizeF::setProperty(const QVariant &p)
+{
+ mReference = p.toSizeF();
+}
+
+bool KCoreConfigSkeleton::ItemSizeF::isEqual(const QVariant &v) const
+{
+ return mReference == v.toSizeF();
+}
+
+QVariant KCoreConfigSkeleton::ItemSizeF::property() const
+{
+ return QVariant(mReference);
+}
+
+KCoreConfigSkeleton::ItemDateTime::ItemDateTime(const QString &_group, const QString &_key, QDateTime &reference, const QDateTime &defaultValue)
+ : KConfigSkeletonGenericItem<QDateTime>(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemDateTime::readConfig(KConfig *config)
+{
+ KConfigGroup cg = configGroup(config);
+ mReference = cg.readEntry(mKey, mDefault);
+ mLoadedValue = mReference;
+
+ readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemDateTime::setProperty(const QVariant &p)
+{
+ mReference = p.toDateTime();
+}
+
+bool KCoreConfigSkeleton::ItemDateTime::isEqual(const QVariant &v) const
+{
+ return mReference == v.toDateTime();
+}
+
+QVariant KCoreConfigSkeleton::ItemDateTime::property() const
+{
+ return QVariant(mReference);
+}
+
+KCoreConfigSkeleton::ItemStringList::ItemStringList(const QString &_group, const QString &_key, QStringList &reference, const QStringList &defaultValue)
+ : KConfigSkeletonGenericItem<QStringList>(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemStringList::readConfig(KConfig *config)
+{
+ KConfigGroup cg = configGroup(config);
+ if (!cg.hasKey(mKey)) {
+ mReference = mDefault;
+ } else {
+ mReference = cg.readEntry(mKey, mDefault);
+ }
+ mLoadedValue = mReference;
+
+ readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemStringList::setProperty(const QVariant &p)
+{
+ mReference = p.toStringList();
+}
+
+bool KCoreConfigSkeleton::ItemStringList::isEqual(const QVariant &v) const
+{
+ return mReference == v.toStringList();
+}
+
+QVariant KCoreConfigSkeleton::ItemStringList::property() const
+{
+ return QVariant(mReference);
+}
+
+KCoreConfigSkeleton::ItemPathList::ItemPathList(const QString &_group, const QString &_key, QStringList &reference, const QStringList &defaultValue)
+ : ItemStringList(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemPathList::readConfig(KConfig *config)
+{
+ KConfigGroup cg = configGroup(config);
+ if (!cg.hasKey(mKey)) {
+ mReference = mDefault;
+ } else {
+ mReference = cg.readPathEntry(mKey, QStringList());
+ }
+ mLoadedValue = mReference;
+
+ readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemPathList::writeConfig(KConfig *config)
+{
+ if (mReference != mLoadedValue) { // WABA: Is this test needed?
+ KConfigGroup cg = configGroup(config);
+ if ((mDefault == mReference) && !cg.hasDefault(mKey)) {
+ cg.revertToDefault(mKey, writeFlags());
+ } else {
+ QStringList sl = mReference;
+ cg.writePathEntry(mKey, sl, writeFlags());
+ }
+ mLoadedValue = mReference;
+ }
+}
+
+KCoreConfigSkeleton::ItemUrlList::ItemUrlList(const QString &_group, const QString &_key, QList<QUrl> &reference, const QList<QUrl> &defaultValue)
+ : KConfigSkeletonGenericItem<QList<QUrl>>(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemUrlList::readConfig(KConfig *config)
+{
+ KConfigGroup cg = configGroup(config);
+ if (!cg.hasKey(mKey)) {
+ mReference = mDefault;
+ } else {
+ QStringList strList;
+ for (const QUrl &url : std::as_const(mDefault)) {
+ strList.append(url.toString());
+ }
+ mReference.clear();
+ const QStringList readList = cg.readEntry<QStringList>(mKey, strList);
+ for (const QString &str : readList) {
+ mReference.append(QUrl(str));
+ }
+ }
+ mLoadedValue = mReference;
+
+ readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemUrlList::writeConfig(KConfig *config)
+{
+ if (mReference != mLoadedValue) { // WABA: Is this test needed?
+ KConfigGroup cg = configGroup(config);
+ if ((mDefault == mReference) && !cg.hasDefault(mKey)) {
+ cg.revertToDefault(mKey, writeFlags());
+ } else {
+ QStringList strList;
+ for (const QUrl &url : std::as_const(mReference)) {
+ strList.append(url.toString());
+ }
+ cg.writeEntry<QStringList>(mKey, strList, writeFlags());
+ }
+ mLoadedValue = mReference;
+ }
+}
+
+void KCoreConfigSkeleton::ItemUrlList::setProperty(const QVariant &p)
+{
+ mReference = qvariant_cast<QList<QUrl>>(p);
+}
+
+bool KCoreConfigSkeleton::ItemUrlList::isEqual(const QVariant &v) const
+{
+ return mReference == qvariant_cast<QList<QUrl>>(v);
+}
+
+QVariant KCoreConfigSkeleton::ItemUrlList::property() const
+{
+ return QVariant::fromValue<QList<QUrl>>(mReference);
+}
+
+KCoreConfigSkeleton::ItemIntList::ItemIntList(const QString &_group, const QString &_key, QList<int> &reference, const QList<int> &defaultValue)
+ : KConfigSkeletonGenericItem<QList<int>>(_group, _key, reference, defaultValue)
+{
+}
+
+void KCoreConfigSkeleton::ItemIntList::readConfig(KConfig *config)
+{
+ KConfigGroup cg = configGroup(config);
+ if (!cg.hasKey(mKey)) {
+ mReference = mDefault;
+ } else {
+ mReference = cg.readEntry(mKey, mDefault);
+ }
+ mLoadedValue = mReference;
+
+ readImmutability(cg);
+}
+
+void KCoreConfigSkeleton::ItemIntList::setProperty(const QVariant &p)
+{
+ mReference = qvariant_cast<QList<int>>(p);
+}
+
+bool KCoreConfigSkeleton::ItemIntList::isEqual(const QVariant &v) const
+{
+ return mReference == qvariant_cast<QList<int>>(v);
+}
+
+QVariant KCoreConfigSkeleton::ItemIntList::property() const
+{
+ return QVariant::fromValue<QList<int>>(mReference);
+}
+
+// static int kCoreConfigSkeletionDebugArea() { static int s_area = KDebug::registerArea("kdecore (KConfigSkeleton)"); return s_area; }
+
+KCoreConfigSkeleton::KCoreConfigSkeleton(const QString &configname, QObject *parent)
+ : QObject(parent)
+ , d(new KCoreConfigSkeletonPrivate)
+{
+ // qDebug() << "Creating KCoreConfigSkeleton (" << (void *)this << ")";
+
+ d->mConfig = KSharedConfig::openConfig(configname, KConfig::FullConfig);
+}
+
+KCoreConfigSkeleton::KCoreConfigSkeleton(KSharedConfig::Ptr pConfig, QObject *parent)
+ : QObject(parent)
+ , d(new KCoreConfigSkeletonPrivate)
+{
+ // qDebug() << "Creating KCoreConfigSkeleton (" << (void *)this << ")";
+ d->mConfig = std::move(pConfig);
+}
+
+KCoreConfigSkeleton::~KCoreConfigSkeleton()
+{
+ delete d;
+}
+
+void KCoreConfigSkeleton::setCurrentGroup(const QString &group)
+{
+ d->mCurrentGroup = group;
+}
+
+QString KCoreConfigSkeleton::currentGroup() const
+{
+ return d->mCurrentGroup;
+}
+
+KConfig *KCoreConfigSkeleton::config()
+{
+ return d->mConfig.data();
+}
+
+const KConfig *KCoreConfigSkeleton::config() const
+{
+ return d->mConfig.data();
+}
+
+KSharedConfig::Ptr KCoreConfigSkeleton::sharedConfig() const
+{
+ return d->mConfig;
+}
+
+void KCoreConfigSkeleton::setSharedConfig(KSharedConfig::Ptr pConfig)
+{
+ d->mConfig = std::move(pConfig);
+}
+
+KConfigSkeletonItem::List KCoreConfigSkeleton::items() const
+{
+ return d->mItems;
+}
+
+bool KCoreConfigSkeleton::useDefaults(bool b)
+{
+ if (b == d->mUseDefaults) {
+ return d->mUseDefaults;
+ }
+
+ d->mUseDefaults = b;
+ for (auto *skelItem : std::as_const(d->mItems)) {
+ skelItem->swapDefault();
+ }
+
+ usrUseDefaults(b);
+ return !d->mUseDefaults;
+}
+
+void KCoreConfigSkeleton::setDefaults()
+{
+ for (auto *skelItem : std::as_const(d->mItems)) {
+ skelItem->setDefault();
+ }
+ usrSetDefaults();
+}
+
+void KCoreConfigSkeleton::load()
+{
+ d->mConfig->reparseConfiguration();
+ read();
+}
+
+void KCoreConfigSkeleton::read()
+{
+ for (auto *skelItem : std::as_const(d->mItems)) {
+ skelItem->readConfig(d->mConfig.data());
+ }
+ usrRead();
+}
+
+bool KCoreConfigSkeleton::isDefaults() const
+{
+ return std::all_of(d->mItems.cbegin(), d->mItems.cend(), [](KConfigSkeletonItem *skelItem) {
+ return skelItem->isDefault();
+ });
+}
+
+bool KCoreConfigSkeleton::isSaveNeeded() const
+{
+ return std::any_of(d->mItems.cbegin(), d->mItems.cend(), [](KConfigSkeletonItem *skelItem) {
+ return skelItem->isSaveNeeded();
+ });
+}
+
+bool KCoreConfigSkeleton::save()
+{
+ // qDebug();
+ for (auto *skelItem : std::as_const(d->mItems)) {
+ skelItem->writeConfig(d->mConfig.data());
+ }
+
+ if (!usrSave()) {
+ return false;
+ }
+
+ if (d->mConfig->isDirty()) {
+ if (!d->mConfig->sync()) {
+ return false;
+ }
+ Q_EMIT configChanged();
+ }
+ return true;
+}
+
+bool KCoreConfigSkeleton::usrUseDefaults(bool)
+{
+ return false;
+}
+
+void KCoreConfigSkeleton::usrSetDefaults()
+{
+}
+
+void KCoreConfigSkeleton::usrRead()
+{
+}
+
+bool KCoreConfigSkeleton::usrSave()
+{
+ return true;
+}
+
+void KCoreConfigSkeleton::addItem(KConfigSkeletonItem *item, const QString &name)
+{
+ if (d->mItems.contains(item)) {
+ if (item->name() == name || (name.isEmpty() && item->name() == item->key())) {
+ // nothing to do -> it is already in our collection
+ // and the name isn't changing
+ return;
+ }
+
+ d->mItemDict.remove(item->name());
+ } else {
+ d->mItems.append(item);
+ }
+
+ item->setName(name.isEmpty() ? item->key() : name);
+ d->mItemDict.insert(item->name(), item);
+ item->readDefault(d->mConfig.data());
+ item->readConfig(d->mConfig.data());
+}
+
+void KCoreConfigSkeleton::removeItem(const QString &name)
+{
+ KConfigSkeletonItem *item = d->mItemDict.value(name);
+ if (item) {
+ d->mItems.removeAll(item);
+ d->mItemDict.remove(item->name());
+ delete item;
+ }
+}
+
+void KCoreConfigSkeleton::clearItems()
+{
+ KConfigSkeletonItem::List items = d->mItems;
+ d->mItems.clear();
+ d->mItemDict.clear();
+ qDeleteAll(items);
+}
+
+KCoreConfigSkeleton::ItemString *KCoreConfigSkeleton::addItemString(const QString &name, QString &reference, const QString &defaultValue, const QString &key)
+{
+ KCoreConfigSkeleton::ItemString *item;
+ item = new KCoreConfigSkeleton::ItemString(d->mCurrentGroup, key.isEmpty() ? name : key, reference, defaultValue, KCoreConfigSkeleton::ItemString::Normal);
+ addItem(item, name);
+ return item;
+}
+
+KCoreConfigSkeleton::ItemPassword *
+KCoreConfigSkeleton::addItemPassword(const QString &name, QString &reference, const QString &defaultValue, const QString &key)
+{
+ KCoreConfigSkeleton::ItemPassword *item;
+ item = new KCoreConfigSkeleton::ItemPassword(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+ addItem(item, name);
+ return item;
+}
+
+KCoreConfigSkeleton::ItemPath *KCoreConfigSkeleton::addItemPath(const QString &name, QString &reference, const QString &defaultValue, const QString &key)
+{
+ KCoreConfigSkeleton::ItemPath *item;
+ item = new KCoreConfigSkeleton::ItemPath(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+ addItem(item, name);
+ return item;
+}
+
+KCoreConfigSkeleton::ItemProperty *
+KCoreConfigSkeleton::addItemProperty(const QString &name, QVariant &reference, const QVariant &defaultValue, const QString &key)
+{
+ KCoreConfigSkeleton::ItemProperty *item;
+ item = new KCoreConfigSkeleton::ItemProperty(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+ addItem(item, name);
+ return item;
+}
+
+KCoreConfigSkeleton::ItemBool *KCoreConfigSkeleton::addItemBool(const QString &name, bool &reference, bool defaultValue, const QString &key)
+{
+ KCoreConfigSkeleton::ItemBool *item;
+ item = new KCoreConfigSkeleton::ItemBool(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+ addItem(item, name);
+ return item;
+}
+
+KCoreConfigSkeleton::ItemInt *KCoreConfigSkeleton::addItemInt(const QString &name, qint32 &reference, qint32 defaultValue, const QString &key)
+{
+ KCoreConfigSkeleton::ItemInt *item;
+ item = new KCoreConfigSkeleton::ItemInt(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+ addItem(item, name);
+ return item;
+}
+
+KCoreConfigSkeleton::ItemUInt *KCoreConfigSkeleton::addItemUInt(const QString &name, quint32 &reference, quint32 defaultValue, const QString &key)
+{
+ KCoreConfigSkeleton::ItemUInt *item;
+ item = new KCoreConfigSkeleton::ItemUInt(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+ addItem(item, name);
+ return item;
+}
+
+KCoreConfigSkeleton::ItemLongLong *KCoreConfigSkeleton::addItemLongLong(const QString &name, qint64 &reference, qint64 defaultValue, const QString &key)
+{
+ KCoreConfigSkeleton::ItemLongLong *item;
+ item = new KCoreConfigSkeleton::ItemLongLong(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+ addItem(item, name);
+ return item;
+}
+
+KCoreConfigSkeleton::ItemULongLong *KCoreConfigSkeleton::addItemULongLong(const QString &name, quint64 &reference, quint64 defaultValue, const QString &key)
+{
+ KCoreConfigSkeleton::ItemULongLong *item;
+ item = new KCoreConfigSkeleton::ItemULongLong(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+ addItem(item, name);
+ return item;
+}
+
+KCoreConfigSkeleton::ItemDouble *KCoreConfigSkeleton::addItemDouble(const QString &name, double &reference, double defaultValue, const QString &key)
+{
+ KCoreConfigSkeleton::ItemDouble *item;
+ item = new KCoreConfigSkeleton::ItemDouble(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+ addItem(item, name);
+ return item;
+}
+
+KCoreConfigSkeleton::ItemRect *KCoreConfigSkeleton::addItemRect(const QString &name, QRect &reference, const QRect &defaultValue, const QString &key)
+{
+ KCoreConfigSkeleton::ItemRect *item;
+ item = new KCoreConfigSkeleton::ItemRect(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+ addItem(item, name);
+ return item;
+}
+
+KCoreConfigSkeleton::ItemRectF *KCoreConfigSkeleton::addItemRectF(const QString &name, QRectF &reference, const QRectF &defaultValue, const QString &key)
+{
+ KCoreConfigSkeleton::ItemRectF *item;
+ item = new KCoreConfigSkeleton::ItemRectF(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+ addItem(item, name);
+ return item;
+}
+
+KCoreConfigSkeleton::ItemPoint *KCoreConfigSkeleton::addItemPoint(const QString &name, QPoint &reference, const QPoint &defaultValue, const QString &key)
+{
+ KCoreConfigSkeleton::ItemPoint *item;
+ item = new KCoreConfigSkeleton::ItemPoint(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+ addItem(item, name);
+ return item;
+}
+
+KCoreConfigSkeleton::ItemPointF *KCoreConfigSkeleton::addItemPointF(const QString &name, QPointF &reference, const QPointF &defaultValue, const QString &key)
+{
+ KCoreConfigSkeleton::ItemPointF *item;
+ item = new KCoreConfigSkeleton::ItemPointF(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+ addItem(item, name);
+ return item;
+}
+
+KCoreConfigSkeleton::ItemSize *KCoreConfigSkeleton::addItemSize(const QString &name, QSize &reference, const QSize &defaultValue, const QString &key)
+{
+ KCoreConfigSkeleton::ItemSize *item;
+ item = new KCoreConfigSkeleton::ItemSize(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+ addItem(item, name);
+ return item;
+}
+
+KCoreConfigSkeleton::ItemSizeF *KCoreConfigSkeleton::addItemSizeF(const QString &name, QSizeF &reference, const QSizeF &defaultValue, const QString &key)
+{
+ KCoreConfigSkeleton::ItemSizeF *item;
+ item = new KCoreConfigSkeleton::ItemSizeF(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+ addItem(item, name);
+ return item;
+}
+
+KCoreConfigSkeleton::ItemDateTime *
+KCoreConfigSkeleton::addItemDateTime(const QString &name, QDateTime &reference, const QDateTime &defaultValue, const QString &key)
+{
+ KCoreConfigSkeleton::ItemDateTime *item;
+ item = new KCoreConfigSkeleton::ItemDateTime(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+ addItem(item, name);
+ return item;
+}
+
+KCoreConfigSkeleton::ItemStringList *
+KCoreConfigSkeleton::addItemStringList(const QString &name, QStringList &reference, const QStringList &defaultValue, const QString &key)
+{
+ KCoreConfigSkeleton::ItemStringList *item;
+ item = new KCoreConfigSkeleton::ItemStringList(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+ addItem(item, name);
+ return item;
+}
+
+KCoreConfigSkeleton::ItemIntList *
+KCoreConfigSkeleton::addItemIntList(const QString &name, QList<int> &reference, const QList<int> &defaultValue, const QString &key)
+{
+ KCoreConfigSkeleton::ItemIntList *item;
+ item = new KCoreConfigSkeleton::ItemIntList(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+ addItem(item, name);
+ return item;
+}
+
+bool KCoreConfigSkeleton::isImmutable(const QString &name) const
+{
+ KConfigSkeletonItem *item = findItem(name);
+ return !item || item->isImmutable();
+}
+
+KConfigSkeletonItem *KCoreConfigSkeleton::findItem(const QString &name) const
+{
+ return d->mItemDict.value(name);
+}
+
+KConfigCompilerSignallingItem::KConfigCompilerSignallingItem(KConfigSkeletonItem *item,
+ QObject *object,
+ KConfigCompilerSignallingItem::NotifyFunction targetFunction,
+ quint64 userData)
+ : KConfigSkeletonItem(item->group(), item->key())
+ , mItem(item)
+ , mTargetFunction(targetFunction)
+ , mObject(object)
+ , mUserData(userData)
+{
+ Q_ASSERT(mTargetFunction);
+ Q_ASSERT(mItem);
+ Q_ASSERT(mObject);
+
+ setIsDefaultImpl([this] {
+ return mItem->isDefault();
+ });
+ setIsSaveNeededImpl([this] {
+ return mItem->isSaveNeeded();
+ });
+ setGetDefaultImpl([this] {
+ return mItem->getDefault();
+ });
+}
+
+KConfigCompilerSignallingItem::~KConfigCompilerSignallingItem()
+{
+}
+
+bool KConfigCompilerSignallingItem::isEqual(const QVariant &p) const
+{
+ return mItem->isEqual(p);
+}
+
+QVariant KConfigCompilerSignallingItem::property() const
+{
+ return mItem->property();
+}
+
+QVariant KConfigCompilerSignallingItem::minValue() const
+{
+ return mItem->minValue();
+}
+
+QVariant KConfigCompilerSignallingItem::maxValue() const
+{
+ return mItem->maxValue();
+}
+
+void KConfigCompilerSignallingItem::readConfig(KConfig *c)
+{
+ QVariant oldValue = mItem->property();
+ mItem->readConfig(c);
+ // readConfig() changes mIsImmutable, update it here as well
+ KConfigGroup cg = configGroup(c);
+ readImmutability(cg);
+ if (!mItem->isEqual(oldValue)) {
+ invokeNotifyFunction();
+ }
+}
+
+void KConfigCompilerSignallingItem::readDefault(KConfig *c)
+{
+ mItem->readDefault(c);
+ // readDefault() changes mIsImmutable, update it here as well
+ KConfigGroup cg = configGroup(c);
+ readImmutability(cg);
+}
+
+void KConfigCompilerSignallingItem::writeConfig(KConfig *c)
+{
+ mItem->writeConfig(c);
+}
+
+void KConfigCompilerSignallingItem::setDefault()
+{
+ QVariant oldValue = mItem->property();
+ mItem->setDefault();
+ if (!mItem->isEqual(oldValue)) {
+ invokeNotifyFunction();
+ }
+}
+
+void KConfigCompilerSignallingItem::setProperty(const QVariant &p)
+{
+ if (!mItem->isEqual(p)) {
+ mItem->setProperty(p);
+ invokeNotifyFunction();
+ }
+}
+
+void KConfigCompilerSignallingItem::swapDefault()
+{
+ QVariant oldValue = mItem->property();
+ mItem->swapDefault();
+ if (!mItem->isEqual(oldValue)) {
+ invokeNotifyFunction();
+ }
+}
+
+void KConfigCompilerSignallingItem::setWriteFlags(KConfigBase::WriteConfigFlags flags)
+{
+ mItem->setWriteFlags(flags);
+}
+
+KConfigBase::WriteConfigFlags KConfigCompilerSignallingItem::writeFlags() const
+{
+ return mItem->writeFlags();
+}
+
+void KConfigCompilerSignallingItem::setGroup(const KConfigGroup &cg)
+{
+ mItem->setGroup(cg);
+}
+
+KConfigGroup KConfigCompilerSignallingItem::configGroup(KConfig *config) const
+{
+ return mItem->configGroup(config);
+}
+
+#include "moc_kcoreconfigskeleton.cpp"
--- /dev/null
+/*
+ This file is part of KDE.
+
+ SPDX-FileCopyrightText: 2001, 2002, 2003 Cornelius Schumacher <schumacher@kde.org>
+ SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCORECONFIGSKELETON_H
+#define KCORECONFIGSKELETON_H
+
+#include <kconfigcore_export.h>
+
+#include <kconfiggroup.h>
+#include <ksharedconfig.h>
+
+#include <QDate>
+#include <QHash>
+#include <QRect>
+#include <QStringList>
+#include <QUrl>
+#include <QVariant>
+
+class KCoreConfigSkeletonPrivate;
+
+class KConfigSkeletonItemPrivate;
+/**
+ * \class KConfigSkeletonItem kcoreconfigskeleton.h <KCoreConfigSkeleton>
+ *
+ * @short Class for storing a preferences setting
+ * @author Cornelius Schumacher
+ * @see KCoreConfigSkeleton
+ *
+ * This class represents one preferences setting as used by @ref KCoreConfigSkeleton.
+ * Subclasses of KConfigSkeletonItem implement storage functions for a certain type of
+ * setting. Normally you don't have to use this class directly. Use the special
+ * addItem() functions of KCoreConfigSkeleton instead. If you subclass this class you will
+ * have to register instances with the function KCoreConfigSkeleton::addItem().
+ */
+class KCONFIGCORE_EXPORT KConfigSkeletonItem
+{
+ Q_DECLARE_PRIVATE(KConfigSkeletonItem)
+public:
+ typedef QList<KConfigSkeletonItem *> List;
+ typedef QHash<QString, KConfigSkeletonItem *> Dict;
+ typedef QHash<QString, KConfigSkeletonItem *>::Iterator DictIterator;
+
+ /**
+ * Constructor.
+ *
+ * @param _group Config file group.
+ * @param _key Config file key.
+ */
+ KConfigSkeletonItem(const QString &_group, const QString &_key);
+
+ /**
+ * Destructor.
+ */
+ virtual ~KConfigSkeletonItem();
+
+ /**
+ * Set config file group.
+ */
+ void setGroup(const QString &_group);
+
+ /**
+ * Return name of config file group.
+ */
+ QString group() const;
+
+ /**
+ * Set config file group but giving the KConfigGroup.
+ * Allow the item to be in nested groups.
+ * @since 5.68
+ */
+ void setGroup(const KConfigGroup &cg);
+
+ /**
+ * Return a KConfigGroup, the one provided by setGroup(const KConfigGroup&) if it's valid,
+ * or make one from @p config and item's group.
+ * @see setGroup(const QString &_group)
+ * @see setGroup(KConfigGroup cg)
+ * @since 5.68
+ */
+ KConfigGroup configGroup(KConfig *config) const;
+
+ /**
+ * Set config file key.
+ */
+ void setKey(const QString &_key);
+
+ /**
+ * Return config file key.
+ */
+ QString key() const;
+
+ /**
+ * Set internal name of entry.
+ */
+ void setName(const QString &_name);
+
+ /**
+ * Return internal name of entry.
+ */
+ QString name() const;
+
+ /**
+ * Set label providing a translated one-line description of the item.
+ */
+ void setLabel(const QString &l);
+
+ /**
+ * Return the label of the item.
+ * @see setLabel()
+ */
+ QString label() const;
+
+ /**
+ * Set ToolTip description of item.
+ * @since 4.2
+ */
+ void setToolTip(const QString &t);
+
+ /**
+ * Return ToolTip description of item.
+ * @see setToolTip()
+ * @since 4.2
+ */
+ QString toolTip() const;
+
+ /**
+ * Set WhatsThis description of item.
+ */
+ void setWhatsThis(const QString &w);
+
+ /**
+ * Return WhatsThis description of item.
+ * @see setWhatsThis()
+ */
+ QString whatsThis() const;
+
+ /**
+ * The write flags to be used when writing configuration.
+ * @since 5.58
+ */
+ void setWriteFlags(KConfigBase::WriteConfigFlags flags);
+
+ /**
+ * Return write flags to be used when writing configuration.
+ * They should be passed to every call of KConfigGroup::writeEntry() and KConfigGroup::revertToDefault().
+ * @since 5.58
+ */
+ KConfigBase::WriteConfigFlags writeFlags() const;
+
+ /**
+ * This function is called by @ref KCoreConfigSkeleton to read the value for this setting
+ * from a config file.
+ */
+ virtual void readConfig(KConfig *) = 0;
+
+ /**
+ * This function is called by @ref KCoreConfigSkeleton to write the value of this setting
+ * to a config file.
+ * Make sure to pass writeFlags() to every call of KConfigGroup::writeEntry() and KConfigGroup::revertToDefault().
+ */
+ virtual void writeConfig(KConfig *) = 0;
+
+ /**
+ * Read global default value.
+ */
+ virtual void readDefault(KConfig *) = 0;
+
+ /**
+ * Set item to @p p
+ */
+ virtual void setProperty(const QVariant &p) = 0;
+
+ /**
+ * Check whether the item is equal to @p p.
+ *
+ * Use this function to compare items that use custom types,
+ * because QVariant::operator== will not work for those.
+ *
+ * @param p QVariant to compare to
+ * @return @c true if the item is equal to @p p, @c false otherwise
+ */
+ virtual bool isEqual(const QVariant &p) const = 0;
+
+ /**
+ * Return item as property
+ */
+ virtual QVariant property() const = 0;
+
+ /**
+ * Return minimum value of item or invalid if not specified
+ */
+ virtual QVariant minValue() const;
+
+ /**
+ * Return maximum value of item or invalid if not specified
+ */
+ virtual QVariant maxValue() const;
+
+ /**
+ * Sets the current value to the default value.
+ */
+ virtual void setDefault() = 0;
+
+ /**
+ * Exchanges the current value with the default value
+ * Used by KCoreConfigSkeleton::useDefaults(bool);
+ */
+ virtual void swapDefault() = 0;
+
+ /**
+ * Return if the entry can be modified.
+ */
+ bool isImmutable() const;
+
+ /**
+ * Indicates if the item is set to its default value.
+ *
+ * @since 5.64
+ */
+ bool isDefault() const;
+
+ /**
+ * Indicates if the item has a different value than the
+ * previously loaded value.
+ *
+ * @since 5.64
+ */
+ bool isSaveNeeded() const;
+
+ /**
+ * Returns the default value
+ * @since 5.74
+ */
+ QVariant getDefault() const;
+
+protected:
+ KCONFIGCORE_NO_EXPORT explicit KConfigSkeletonItem(KConfigSkeletonItemPrivate &dd, const QString &_group, const QString &_key);
+
+ /**
+ * Sets mIsImmutable to @c true if mKey in config is immutable.
+ * @param group KConfigGroup to check if mKey is immutable in
+ */
+ void readImmutability(const KConfigGroup &group);
+
+ QString mGroup; ///< The group name for this item
+ QString mKey; ///< The config key for this item
+ QString mName; ///< The name of this item
+
+ // HACK: Necessary to avoid introducing new virtuals in KConfigSkeletonItem
+ // KF7 TODO: Use proper pure virtuals in KConfigSkeletonItem
+ void setIsDefaultImpl(const std::function<bool()> &impl);
+ void setIsSaveNeededImpl(const std::function<bool()> &impl);
+ void setGetDefaultImpl(const std::function<QVariant()> &impl);
+
+ KConfigSkeletonItemPrivate *const d_ptr;
+};
+
+class KPropertySkeletonItemPrivate;
+
+/**
+ * \class KPropertySkeletonItem kcoreconfigskeleton.h <KCoreConfigSkeleton>
+ *
+ * @short Class for proxying a QObject property as a preferences setting
+ * @author Kevin Ottens
+ * @see KConfigSkeletonItem
+ *
+ * This class represents one preferences setting as used by @ref KCoreConfigSkeleton.
+ * Unlike other @ref KConfigSkeletonItem subclasses, this one won't store the preference
+ * in KConfig but will use a QObject property as storage.
+ * You will have to register instances of this class with the function KCoreConfigSkeleton::addItem().
+ *
+ * @since 5.65
+ */
+class KCONFIGCORE_EXPORT KPropertySkeletonItem : public KConfigSkeletonItem
+{
+ Q_DECLARE_PRIVATE(KPropertySkeletonItem)
+public:
+ /**
+ * Constructor
+ *
+ * @param object The QObject instance which we'll manage the property of
+ * @param propertyName The name of the property in @p object which we'll manage
+ * @param defaultValue The default value of the property
+ */
+ KPropertySkeletonItem(QObject *object, const QByteArray &propertyName, const QVariant &defaultValue);
+
+ /** @copydoc KConfigSkeletonItem::property() */
+ QVariant property() const override;
+ /** @copydoc KConfigSkeletonItem::setProperty(const QVariant &) */
+ void setProperty(const QVariant &p) override;
+ /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) */
+ bool isEqual(const QVariant &p) const override;
+
+ /** @copydoc KConfigSkeletonItem::readConfig(KConfig *) */
+ void readConfig(KConfig *) override;
+ /** @copydoc KConfigSkeletonItem::writeConfig(KConfig *) */
+ void writeConfig(KConfig *) override;
+
+ /** @copydoc KConfigSkeletonItem::readDefault(KConfig *) */
+ void readDefault(KConfig *) override;
+ /** @copydoc KConfigSkeletonItem::setDefault() */
+ void setDefault() override;
+ /** @copydoc KConfigSkeletonItem::swapDefault() */
+ void swapDefault() override;
+
+ /**
+ * Set a notify function, it will be invoked when the value of the property changes.
+ * @since 5.68
+ */
+ void setNotifyFunction(const std::function<void()> &impl);
+};
+
+/**
+ * \class KConfigSkeletonGenericItem kcoreconfigskeleton.h <KCoreConfigSkeleton>
+ *
+ * @short Base class for storing a preferences setting of type @p T.
+ */
+template<typename T>
+class KConfigSkeletonGenericItem : public KConfigSkeletonItem
+{
+public:
+ /**
+ * @copydoc KConfigSkeletonItem(const QString&, const QString&)
+ * @param reference The initial value to hold in the item
+ * @param defaultValue The default value for the item
+ */
+ KConfigSkeletonGenericItem(const QString &_group, const QString &_key, T &reference, T defaultValue)
+ : KConfigSkeletonItem(_group, _key)
+ , mReference(reference)
+ , mDefault(defaultValue)
+ , mLoadedValue(defaultValue)
+ {
+ setIsDefaultImpl([this] {
+ return mReference == mDefault;
+ });
+ setIsSaveNeededImpl([this] {
+ return mReference != mLoadedValue;
+ });
+ setGetDefaultImpl([this] {
+ return QVariant::fromValue(mDefault);
+ });
+ }
+
+ /**
+ * Set value of this KConfigSkeletonItem.
+ */
+ void setValue(const T &v)
+ {
+ mReference = v;
+ }
+
+ /**
+ * Return value of this KConfigSkeletonItem.
+ */
+ T &value()
+ {
+ return mReference;
+ }
+
+ /**
+ * Return const value of this KConfigSkeletonItem.
+ */
+ const T &value() const
+ {
+ return mReference;
+ }
+
+ /**
+ * Set default value for this item.
+ */
+ virtual void setDefaultValue(const T &v)
+ {
+ mDefault = v;
+ }
+
+ /**
+ * Set the value for this item to the default value
+ */
+ void setDefault() override
+ {
+ mReference = mDefault;
+ }
+
+ /** @copydoc KConfigSkeletonItem::writeConfig(KConfig *) */
+ void writeConfig(KConfig *config) override
+ {
+ if (mReference != mLoadedValue) { // Is this needed?
+ KConfigGroup cg = configGroup(config);
+ if ((mDefault == mReference) && !cg.hasDefault(mKey)) {
+ cg.revertToDefault(mKey, writeFlags());
+ } else {
+ cg.writeEntry(mKey, mReference, writeFlags());
+ }
+ mLoadedValue = mReference;
+ }
+ }
+
+ /** @copydoc KConfigSkeletonItem::readDefault(KConfig*) */
+ void readDefault(KConfig *config) override
+ {
+ config->setReadDefaults(true);
+ readConfig(config);
+ config->setReadDefaults(false);
+ mDefault = mReference;
+ }
+
+ /** @copydoc KConfigSkeletonItem::swapDefault() */
+ void swapDefault() override
+ {
+ T tmp = mReference;
+ mReference = mDefault;
+ mDefault = tmp;
+ }
+
+protected:
+ T &mReference; ///< Stores the value for this item
+ T mDefault; ///< The default value for this item
+ T mLoadedValue;
+};
+
+/**
+ * \class KConfigCompilerSignallingItem kcoreconfigskeleton.h <KCoreConfigSkeleton>
+ *
+ * @author Alex Richardson
+ *
+ * This class wraps a @ref KConfigSkeletonItem and invokes a function whenever the value changes.
+ * That function must take one quint64 parameter. Whenever the property value of the wrapped KConfigSkeletonItem
+ * changes this function will be invoked with the stored user data passed in the constructor.
+ * It does not call a function with the new value since this class is designed solely for the \ref kconfig_compiler generated
+ * code and is therefore probably not suited for any other usecases.
+ *
+ * @see KConfigSkeletonItem
+ */
+class KCONFIGCORE_EXPORT KConfigCompilerSignallingItem : public KConfigSkeletonItem
+{
+public:
+ typedef void (QObject::*NotifyFunction)(quint64 arg);
+ /**
+ * Constructor.
+ *
+ * @param item the KConfigSkeletonItem to wrap
+ * @param targetFunction the method to invoke whenever the value of @p item changes
+ * @param object The object on which the method is invoked.
+ * @param userData This data will be passed to @p targetFunction on every property change
+ */
+ KConfigCompilerSignallingItem(KConfigSkeletonItem *item, QObject *object, NotifyFunction targetFunction, quint64 userData);
+ ~KConfigCompilerSignallingItem() override;
+
+ void readConfig(KConfig *) override;
+ void writeConfig(KConfig *) override;
+ void readDefault(KConfig *) override;
+ void setProperty(const QVariant &p) override;
+ bool isEqual(const QVariant &p) const override;
+ QVariant property() const override;
+ QVariant minValue() const override;
+ QVariant maxValue() const override;
+ void setDefault() override;
+ void swapDefault() override;
+ // KF7 TODO - fix this
+ // Ideally we would do this in an overload of KConfigSkeletonItem, but
+ // given we can't, I've shadowed the method. This isn't pretty, but given
+ // the docs say it should generally only be used from auto generated code,
+ // should be fine.
+ void setWriteFlags(KConfigBase::WriteConfigFlags flags);
+ KConfigBase::WriteConfigFlags writeFlags() const;
+ void setGroup(const KConfigGroup &cg);
+ KConfigGroup configGroup(KConfig *config) const;
+ // END TODO
+
+private:
+ inline void invokeNotifyFunction()
+ {
+ // call the pointer to member function using the strange ->* operator
+ (mObject->*mTargetFunction)(mUserData);
+ }
+
+private:
+ QScopedPointer<KConfigSkeletonItem> mItem;
+ NotifyFunction mTargetFunction;
+ QObject *mObject;
+ quint64 mUserData;
+};
+
+/**
+ * \class KCoreConfigSkeleton kcoreconfigskeleton.h <KCoreConfigSkeleton>
+ *
+ * @short Class for handling preferences settings for an application.
+ * @author Cornelius Schumacher
+ *
+ * This class provides an interface to preferences settings. Preferences items
+ * can be registered by the addItem() function corresponding to the data type of
+ * the setting. KCoreConfigSkeleton then handles reading and writing of config files and
+ * setting of default values.
+ *
+ * Normally you will subclass KCoreConfigSkeleton, add data members for the preferences
+ * settings and register the members in the constructor of the subclass.
+ *
+ * Example:
+ * \code
+ * class MyPrefs : public KCoreConfigSkeleton
+ * {
+ * public:
+ * MyPrefs()
+ * {
+ * setCurrentGroup("MyGroup");
+ * addItemBool("MySetting1", mMyBool, false);
+ * addItemPoint("MySetting2", mMyPoint, QPoint(100, 200));
+ *
+ * setCurrentGroup("MyOtherGroup");
+ * addItemDouble("MySetting3", mMyDouble, 3.14);
+ * }
+ *
+ * bool mMyBool;
+ * QPoint mMyPoint;
+ * double mMyDouble;
+ * }
+ * \endcode
+ *
+ * It might be convenient in many cases to make this subclass of KCoreConfigSkeleton a
+ * singleton for global access from all over the application without passing
+ * references to the KCoreConfigSkeleton object around.
+ *
+ * You can write the data to the configuration file by calling @ref save()
+ * and read the data from the configuration file by calling @ref readConfig().
+ * If you want to watch for config changes, use @ref configChanged() signal.
+ *
+ * If you have items, which are not covered by the existing addItem() functions
+ * you can add customized code for reading, writing and default setting by
+ * implementing the functions @ref usrUseDefaults(), @ref usrRead() and
+ * @ref usrSave().
+ *
+ * Internally preferences settings are stored in instances of subclasses of
+ * @ref KConfigSkeletonItem. You can also add KConfigSkeletonItem subclasses
+ * for your own types and call the generic @ref addItem() to register them.
+ *
+ * In many cases you don't have to write the specific KCoreConfigSkeleton
+ * subclasses yourself, but you can use \ref kconfig_compiler to automatically
+ * generate the C++ code from an XML description of the configuration options.
+ *
+ * Use KConfigSkeleton if you need GUI types as well.
+ *
+ * @see KConfigSkeletonItem
+ */
+class KCONFIGCORE_EXPORT KCoreConfigSkeleton : public QObject
+{
+ Q_OBJECT
+public:
+ /**
+ * Class for handling a string preferences item.
+ */
+ class KCONFIGCORE_EXPORT ItemString : public KConfigSkeletonGenericItem<QString>
+ {
+ public:
+ /** The type of string that is held in this item */
+ enum Type {
+ Normal, ///< A normal string
+ Password, ///< A password string
+ Path, ///< A path to a file or directory
+ };
+
+ /**
+ * @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem
+ * @param type The type of string held by the item
+ */
+ ItemString(const QString &_group,
+ const QString &_key,
+ QString &reference,
+ const QString &defaultValue = QLatin1String(""), // NOT QString() !!
+ Type type = Normal);
+
+ /** @copydoc KConfigSkeletonItem::writeConfig(KConfig*) */
+ void writeConfig(KConfig *config) override;
+
+ /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+ void readConfig(KConfig *config) override;
+
+ /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+ void setProperty(const QVariant &p) override;
+
+ /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+ bool isEqual(const QVariant &p) const override;
+
+ /** @copydoc KConfigSkeletonItem::property() const */
+ QVariant property() const override;
+
+ private:
+ Type mType;
+ };
+
+ /**
+ * Class for handling a password preferences item.
+ */
+ class KCONFIGCORE_EXPORT ItemPassword : public ItemString
+ {
+ public:
+ /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+ ItemPassword(const QString &_group, const QString &_key, QString &reference,
+ const QString &defaultValue = QLatin1String("")); // NOT QString() !!
+ };
+
+ /**
+ * Class for handling a path preferences item.
+ */
+ class KCONFIGCORE_EXPORT ItemPath : public ItemString
+ {
+ public:
+ /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+ ItemPath(const QString &_group, const QString &_key, QString &reference, const QString &defaultValue = QString());
+ };
+
+ /**
+ * Class for handling a url preferences item.
+ */
+ class KCONFIGCORE_EXPORT ItemUrl : public KConfigSkeletonGenericItem<QUrl>
+ {
+ public:
+ /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+ ItemUrl(const QString &_group, const QString &_key, QUrl &reference, const QUrl &defaultValue = QUrl());
+
+ /** @copydoc KConfigSkeletonItem::writeConfig(KConfig*) */
+ void writeConfig(KConfig *config) override;
+
+ /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+ void readConfig(KConfig *config) override;
+
+ /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+ void setProperty(const QVariant &p) override;
+
+ /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+ bool isEqual(const QVariant &p) const override;
+
+ /** @copydoc KConfigSkeletonItem::property() const */
+ QVariant property() const override;
+ };
+
+ /**
+ * Class for handling a QVariant preferences item.
+ */
+ class KCONFIGCORE_EXPORT ItemProperty : public KConfigSkeletonGenericItem<QVariant>
+ {
+ public:
+ /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+ ItemProperty(const QString &_group, const QString &_key, QVariant &reference, const QVariant &defaultValue = QVariant());
+
+ void readConfig(KConfig *config) override;
+ void setProperty(const QVariant &p) override;
+
+ /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+ bool isEqual(const QVariant &p) const override;
+
+ /** @copydoc KConfigSkeletonItem::property() const */
+ QVariant property() const override;
+ };
+
+ /**
+ * Class for handling a bool preferences item.
+ */
+ class KCONFIGCORE_EXPORT ItemBool : public KConfigSkeletonGenericItem<bool>
+ {
+ public:
+ /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+ ItemBool(const QString &_group, const QString &_key, bool &reference, bool defaultValue = true);
+
+ /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+ void readConfig(KConfig *config) override;
+
+ /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+ void setProperty(const QVariant &p) override;
+
+ /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+ bool isEqual(const QVariant &p) const override;
+
+ /** @copydoc KConfigSkeletonItem::property() const */
+ QVariant property() const override;
+ };
+
+ /**
+ * Class for handling a 32-bit integer preferences item.
+ */
+ class KCONFIGCORE_EXPORT ItemInt : public KConfigSkeletonGenericItem<qint32>
+ {
+ public:
+ /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+ ItemInt(const QString &_group, const QString &_key, qint32 &reference, qint32 defaultValue = 0);
+
+ /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+ void readConfig(KConfig *config) override;
+
+ /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+ void setProperty(const QVariant &p) override;
+
+ /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+ bool isEqual(const QVariant &p) const override;
+
+ /** @copydoc KConfigSkeletonItem::property() */
+ QVariant property() const override;
+
+ /** Get the minimum value that is allowed to be stored in this item */
+ QVariant minValue() const override;
+
+ /** Get the maximum value this is allowed to be stored in this item */
+ QVariant maxValue() const override;
+
+ /**
+ * Set the minimum value for the item.
+ * @see minValue()
+ */
+ void setMinValue(qint32);
+
+ /**
+ * Set the maximum value for the item.
+ * @see maxValue
+ */
+ void setMaxValue(qint32);
+
+ private:
+ bool mHasMin : 1;
+ bool mHasMax : 1;
+ qint32 mMin;
+ qint32 mMax;
+ };
+
+ /**
+ * Class for handling a 64-bit integer preferences item.
+ */
+ class KCONFIGCORE_EXPORT ItemLongLong : public KConfigSkeletonGenericItem<qint64>
+ {
+ public:
+ /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+ ItemLongLong(const QString &_group, const QString &_key, qint64 &reference, qint64 defaultValue = 0);
+
+ /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+ void readConfig(KConfig *config) override;
+
+ /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+ void setProperty(const QVariant &p) override;
+
+ /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+ bool isEqual(const QVariant &p) const override;
+
+ /** @copydoc KConfigSkeletonItem::property() */
+ QVariant property() const override;
+
+ /** @copydoc ItemInt::minValue() */
+ QVariant minValue() const override;
+
+ /** @copydoc ItemInt::maxValue() */
+ QVariant maxValue() const override;
+
+ /** @copydoc ItemInt::setMinValue(qint32) */
+ void setMinValue(qint64);
+
+ /** @copydoc ItemInt::setMaxValue(qint32) */
+ void setMaxValue(qint64);
+
+ private:
+ bool mHasMin : 1;
+ bool mHasMax : 1;
+ qint64 mMin;
+ qint64 mMax;
+ };
+
+ /**
+ * Class for handling enums.
+ */
+ class KCONFIGCORE_EXPORT ItemEnum : public ItemInt
+ {
+ public:
+ struct Choice {
+ QString name;
+ QString label;
+ QString toolTip;
+ QString whatsThis;
+ QString value;
+ };
+
+ /**
+ * @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem
+ * @param choices The list of enums that can be stored in this item
+ */
+ ItemEnum(const QString &_group, const QString &_key, qint32 &reference, const QList<Choice> &choices, qint32 defaultValue = 0);
+
+ QList<Choice> choices() const;
+
+ /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+ void readConfig(KConfig *config) override;
+
+ /** @copydoc KConfigSkeletonItem::writeConfig(KConfig*) */
+ void writeConfig(KConfig *config) override;
+
+ /**
+ * Returns the value for the choice with the given @p name
+ */
+ QString valueForChoice(const QString &name) const;
+
+ /**
+ * Stores a choice value for @p name
+ */
+ void setValueForChoice(const QString &name, const QString &valueForChoice);
+
+ private:
+ QList<Choice> mChoices;
+ };
+
+ /**
+ * Class for handling an unsigned 32-bit integer preferences item.
+ */
+ class KCONFIGCORE_EXPORT ItemUInt : public KConfigSkeletonGenericItem<quint32>
+ {
+ public:
+ /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+ ItemUInt(const QString &_group, const QString &_key, quint32 &reference, quint32 defaultValue = 0);
+
+ /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+ void readConfig(KConfig *config) override;
+
+ /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+ void setProperty(const QVariant &p) override;
+
+ /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+ bool isEqual(const QVariant &p) const override;
+
+ /** @copydoc KConfigSkeletonItem::property() */
+ QVariant property() const override;
+
+ /** @copydoc ItemInt::minValue() */
+ QVariant minValue() const override;
+
+ /** @copydoc ItemInt::maxValue() */
+ QVariant maxValue() const override;
+
+ /** @copydoc ItemInt::setMinValue(qint32) */
+ void setMinValue(quint32);
+
+ /** @copydoc ItemInt::setMaxValue(qint32) */
+ void setMaxValue(quint32);
+
+ private:
+ bool mHasMin : 1;
+ bool mHasMax : 1;
+ quint32 mMin;
+ quint32 mMax;
+ };
+
+ /**
+ * Class for handling unsigned 64-bit integer preferences item.
+ */
+ class KCONFIGCORE_EXPORT ItemULongLong : public KConfigSkeletonGenericItem<quint64>
+ {
+ public:
+ /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+ ItemULongLong(const QString &_group, const QString &_key, quint64 &reference, quint64 defaultValue = 0);
+
+ /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+ void readConfig(KConfig *config) override;
+
+ /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+ void setProperty(const QVariant &p) override;
+
+ /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+ bool isEqual(const QVariant &p) const override;
+
+ /** @copydoc KConfigSkeletonItem::property() */
+ QVariant property() const override;
+
+ /** @copydoc ItemInt::minValue() */
+ QVariant minValue() const override;
+
+ /** @copydoc ItemInt::maxValue() */
+ QVariant maxValue() const override;
+
+ /** @copydoc ItemInt::setMinValue(qint32) */
+ void setMinValue(quint64);
+
+ /** @copydoc ItemInt::setMaxValue(qint32) */
+ void setMaxValue(quint64);
+
+ private:
+ bool mHasMin : 1;
+ bool mHasMax : 1;
+ quint64 mMin;
+ quint64 mMax;
+ };
+
+ /**
+ * Class for handling a floating point preference item.
+ */
+ class KCONFIGCORE_EXPORT ItemDouble : public KConfigSkeletonGenericItem<double>
+ {
+ public:
+ /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+ ItemDouble(const QString &_group, const QString &_key, double &reference, double defaultValue = 0);
+
+ /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+ void readConfig(KConfig *config) override;
+
+ /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+ void setProperty(const QVariant &p) override;
+
+ /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+ bool isEqual(const QVariant &p) const override;
+
+ /** @copydoc KConfigSkeletonItem::property() */
+ QVariant property() const override;
+
+ /** @copydoc ItemInt::minValue() */
+ QVariant minValue() const override;
+
+ /** @copydoc ItemInt::maxValue() */
+ QVariant maxValue() const override;
+
+ /** @copydoc ItemInt::setMinValue() */
+ void setMinValue(double);
+
+ /** @copydoc ItemInt::setMaxValue() */
+ void setMaxValue(double);
+
+ private:
+ bool mHasMin : 1;
+ bool mHasMax : 1;
+ double mMin;
+ double mMax;
+ };
+
+ /**
+ * Class for handling a QRect preferences item.
+ */
+ class KCONFIGCORE_EXPORT ItemRect : public KConfigSkeletonGenericItem<QRect>
+ {
+ public:
+ /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+ ItemRect(const QString &_group, const QString &_key, QRect &reference, const QRect &defaultValue = QRect());
+
+ /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+ void readConfig(KConfig *config) override;
+
+ /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+ void setProperty(const QVariant &p) override;
+
+ /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+ bool isEqual(const QVariant &p) const override;
+
+ /** @copydoc KConfigSkeletonItem::property() */
+ QVariant property() const override;
+ };
+
+ /**
+ * Class for handling a QRectF preferences item.
+ */
+ class KCONFIGCORE_EXPORT ItemRectF : public KConfigSkeletonGenericItem<QRectF>
+ {
+ public:
+ /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+ ItemRectF(const QString &_group, const QString &_key, QRectF &reference, const QRectF &defaultValue = QRectF());
+
+ /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+ void readConfig(KConfig *config) override;
+
+ /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+ void setProperty(const QVariant &p) override;
+
+ /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+ bool isEqual(const QVariant &p) const override;
+
+ /** @copydoc KConfigSkeletonItem::property() */
+ QVariant property() const override;
+ };
+
+ /**
+ * Class for handling a QPoint preferences item.
+ */
+ class KCONFIGCORE_EXPORT ItemPoint : public KConfigSkeletonGenericItem<QPoint>
+ {
+ public:
+ /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+ ItemPoint(const QString &_group, const QString &_key, QPoint &reference, const QPoint &defaultValue = QPoint());
+
+ /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+ void readConfig(KConfig *config) override;
+
+ /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+ void setProperty(const QVariant &p) override;
+
+ /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+ bool isEqual(const QVariant &p) const override;
+
+ /** @copydoc KConfigSkeletonItem::property() */
+ QVariant property() const override;
+ };
+
+ /**
+ * Class for handling a QPointF preferences item.
+ */
+ class KCONFIGCORE_EXPORT ItemPointF : public KConfigSkeletonGenericItem<QPointF>
+ {
+ public:
+ /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+ ItemPointF(const QString &_group, const QString &_key, QPointF &reference, const QPointF &defaultValue = QPointF());
+
+ /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+ void readConfig(KConfig *config) override;
+
+ /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+ void setProperty(const QVariant &p) override;
+
+ /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+ bool isEqual(const QVariant &p) const override;
+
+ /** @copydoc KConfigSkeletonItem::property() */
+ QVariant property() const override;
+ };
+
+ /**
+ * Class for handling a QSize preferences item.
+ */
+ class KCONFIGCORE_EXPORT ItemSize : public KConfigSkeletonGenericItem<QSize>
+ {
+ public:
+ /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+ ItemSize(const QString &_group, const QString &_key, QSize &reference, const QSize &defaultValue = QSize());
+
+ /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+ void readConfig(KConfig *config) override;
+
+ /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+ void setProperty(const QVariant &p) override;
+
+ /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+ bool isEqual(const QVariant &p) const override;
+
+ /** @copydoc KConfigSkeletonItem::property() */
+ QVariant property() const override;
+ };
+
+ /**
+ * Class for handling a QSizeF preferences item.
+ */
+ class KCONFIGCORE_EXPORT ItemSizeF : public KConfigSkeletonGenericItem<QSizeF>
+ {
+ public:
+ /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+ ItemSizeF(const QString &_group, const QString &_key, QSizeF &reference, const QSizeF &defaultValue = QSizeF());
+
+ /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+ void readConfig(KConfig *config) override;
+
+ /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+ void setProperty(const QVariant &p) override;
+
+ /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+ bool isEqual(const QVariant &p) const override;
+
+ /** @copydoc KConfigSkeletonItem::property() */
+ QVariant property() const override;
+ };
+
+ /**
+ * Class for handling a QDateTime preferences item.
+ */
+ class KCONFIGCORE_EXPORT ItemDateTime : public KConfigSkeletonGenericItem<QDateTime>
+ {
+ public:
+ /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+ ItemDateTime(const QString &_group, const QString &_key, QDateTime &reference, const QDateTime &defaultValue = QDateTime());
+
+ /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+ void readConfig(KConfig *config) override;
+
+ /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+ void setProperty(const QVariant &p) override;
+
+ /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+ bool isEqual(const QVariant &p) const override;
+
+ /** @copydoc KConfigSkeletonItem::property() */
+ QVariant property() const override;
+ };
+
+ /**
+ * Class for handling a string list preferences item.
+ */
+ class KCONFIGCORE_EXPORT ItemStringList : public KConfigSkeletonGenericItem<QStringList>
+ {
+ public:
+ /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+ ItemStringList(const QString &_group, const QString &_key, QStringList &reference, const QStringList &defaultValue = QStringList());
+
+ /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+ void readConfig(KConfig *config) override;
+
+ /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+ void setProperty(const QVariant &p) override;
+
+ /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+ bool isEqual(const QVariant &p) const override;
+
+ /** @copydoc KConfigSkeletonItem::property() */
+ QVariant property() const override;
+ };
+
+ /**
+ * Class for handling a path list preferences item.
+ */
+ class KCONFIGCORE_EXPORT ItemPathList : public ItemStringList
+ {
+ public:
+ /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+ ItemPathList(const QString &_group, const QString &_key, QStringList &reference, const QStringList &defaultValue = QStringList());
+
+ /** @copydoc KConfigSkeletonItem::readConfig */
+ void readConfig(KConfig *config) override;
+ /** @copydoc KConfigSkeletonItem::writeConfig */
+ void writeConfig(KConfig *config) override;
+ };
+
+ /**
+ * Class for handling a url list preferences item.
+ */
+ class KCONFIGCORE_EXPORT ItemUrlList : public KConfigSkeletonGenericItem<QList<QUrl>>
+ {
+ public:
+ /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+ ItemUrlList(const QString &_group, const QString &_key, QList<QUrl> &reference, const QList<QUrl> &defaultValue = QList<QUrl>());
+
+ /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+ void readConfig(KConfig *config) override;
+
+ /** @copydoc KConfigSkeletonItem::writeConfig(KConfig*) */
+ void writeConfig(KConfig *config) override;
+
+ /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+ void setProperty(const QVariant &p) override;
+
+ /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+ bool isEqual(const QVariant &p) const override;
+
+ /** @copydoc KConfigSkeletonItem::property() */
+ QVariant property() const override;
+ };
+
+ /**
+ * Class for handling an integer list preferences item.
+ */
+ class KCONFIGCORE_EXPORT ItemIntList : public KConfigSkeletonGenericItem<QList<int>>
+ {
+ public:
+ /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+ ItemIntList(const QString &_group, const QString &_key, QList<int> &reference, const QList<int> &defaultValue = QList<int>());
+
+ /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+ void readConfig(KConfig *config) override;
+
+ /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+ void setProperty(const QVariant &p) override;
+
+ /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) const */
+ bool isEqual(const QVariant &p) const override;
+
+ /** @copydoc KConfigSkeletonItem::property() */
+ QVariant property() const override;
+ };
+
+public:
+ /**
+ * Constructor.
+ *
+ * @param configname name of config file. If no name is given, the default
+ * config file as returned by KSharedConfig::openConfig() is used
+ * @param parent the parent object (see QObject documentation)
+ */
+ explicit KCoreConfigSkeleton(const QString &configname = QString(), QObject *parent = nullptr);
+
+ /**
+ * Constructor.
+ *
+ * @param config configuration object to use
+ * @param parent the parent object (see QObject documentation)
+ */
+ explicit KCoreConfigSkeleton(KSharedConfig::Ptr config, QObject *parent = nullptr);
+
+ /**
+ * Destructor
+ */
+ ~KCoreConfigSkeleton() override;
+
+ /**
+ * Set all registered items to their default values.
+ * This method calls usrSetDefaults() after setting the defaults for the
+ * registered items. You can override usrSetDefaults() in derived classes
+ * if you have special requirements.
+ * If you need more fine-grained control of setting the default values of
+ * the registered items you can override setDefaults() in a derived class.
+ */
+ virtual void setDefaults();
+
+ /**
+ * Read preferences from config file. All registered items are set to the
+ * values read from disk.
+ * This method calls usrRead() after reading the settings of the
+ * registered items from the KConfig. You can override usrRead()
+ * in derived classes if you have special requirements.
+ */
+ void load();
+
+ /**
+ * Read preferences from the KConfig object.
+ * This method assumes that the KConfig object was previously loaded,
+ * i.e. it uses the in-memory values from KConfig without reloading from disk.
+ *
+ * This method calls usrRead() after reading the settings of the
+ * registered items from the KConfig. You can override usrRead()
+ * in derived classes if you have special requirements.
+ * @since 5.0
+ */
+ void read();
+
+ /**
+ * Indicates if all the registered items are set to their default value.
+ *
+ * @since 5.64
+ */
+ bool isDefaults() const;
+
+ /**
+ * Indicates if any registered item has a different value than the
+ * previously loaded value.
+ *
+ * @since 5.64
+ */
+ bool isSaveNeeded() const;
+
+ /**
+ * Set the config file group for subsequent addItem() calls. It is valid
+ * until setCurrentGroup() is called with a new argument. Call this before
+ * you add any items. The default value is "No Group".
+ */
+ void setCurrentGroup(const QString &group);
+
+ /**
+ * Returns the current group used for addItem() calls.
+ */
+ QString currentGroup() const;
+
+ /**
+ * Register a custom @ref KConfigSkeletonItem @p item with a given @p name.
+ *
+ * If @p name is a null string, take the name from KConfigSkeletonItem::key().
+ *
+ * @note All names must be unique but multiple entries can have
+ * the same key if they reside in different groups.
+ *
+ * KCoreConfigSkeleton takes ownership of @p item.
+ */
+ void addItem(KConfigSkeletonItem *item, const QString &name = QString());
+
+ /**
+ * Register an item of type QString.
+ *
+ * @param name Name used to identify this setting. Names must be unique.
+ * @param reference Pointer to the variable, which is set by readConfig()
+ * calls and read by save() calls.
+ * @param defaultValue Default value, which is used when the config file
+ * does not yet contain the key of this item.
+ * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+ * @return The created item
+ */
+ ItemString *addItemString(const QString &name,
+ QString &reference,
+ const QString &defaultValue = QLatin1String(""), // NOT QString() !!
+ const QString &key = QString());
+
+ /**
+ * Register a password item of type QString. The string value is written
+ * encrypted to the config file.
+ *
+ * @note The current encryption scheme is very weak.
+ *
+ * @param name Name used to identify this setting. Names must be unique.
+ * @param reference Pointer to the variable, which is set by readConfig()
+ * calls and read by save() calls.
+ * @param defaultValue Default value, which is used when the config file
+ * does not yet contain the key of this item.
+ * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+ * @return The created item
+ */
+ ItemPassword *addItemPassword(const QString &name, QString &reference, const QString &defaultValue = QLatin1String(""), const QString &key = QString());
+
+ /**
+ * Register a path item of type QString. The string value is interpreted
+ * as a path. This means, dollar expansion is activated for this value, so
+ * that e.g. @c $HOME gets expanded.
+ *
+ * @param name Name used to identify this setting. Names must be unique.
+ * @param reference Pointer to the variable, which is set by readConfig()
+ * calls and read by save() calls.
+ * @param defaultValue Default value, which is used when the config file
+ * does not yet contain the key of this item.
+ * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+ * @return The created item
+ */
+ ItemPath *addItemPath(const QString &name, QString &reference, const QString &defaultValue = QLatin1String(""), const QString &key = QString());
+
+ /**
+ * Register a property item of type QVariant.
+ *
+ * @note The following QVariant types are allowed:
+ * String, StringList, Font, Point, PointF, Rect, RectF, Size, SizeF,
+ * Color, Int, UInt, Bool, Double, DateTime and Date.
+ *
+ * @param name Name used to identify this setting. Names must be unique.
+ * @param reference Pointer to the variable, which is set by readConfig()
+ * calls and read by save() calls.
+ * @param defaultValue Default value, which is used when the config file
+ * does not yet contain the key of this item.
+ * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+ * @return The created item
+ */
+ ItemProperty *addItemProperty(const QString &name, QVariant &reference, const QVariant &defaultValue = QVariant(), const QString &key = QString());
+ /**
+ * Register an item of type @c bool.
+ *
+ * @param name Name used to identify this setting. Names must be unique.
+ * @param reference Pointer to the variable, which is set by readConfig()
+ * calls and read by save() calls.
+ * @param defaultValue Default value, which is used when the config file
+ * does not yet contain the key of this item.
+ * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+ * @return The created item
+ */
+ ItemBool *addItemBool(const QString &name, bool &reference, bool defaultValue = false, const QString &key = QString());
+
+ /**
+ * Register an item of type @c qint32.
+ *
+ * @param name Name used to identify this setting. Names must be unique.
+ * @param reference Pointer to the variable, which is set by readConfig()
+ * calls and read by save() calls.
+ * @param defaultValue Default value, which is used when the config file
+ * does not yet contain the key of this item.
+ * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+ * @return The created item
+ */
+ ItemInt *addItemInt(const QString &name, qint32 &reference, qint32 defaultValue = 0, const QString &key = QString());
+
+ /**
+ * Register an item of type @c quint32.
+ *
+ * @param name Name used to identify this setting. Names must be unique.
+ * @param reference Pointer to the variable, which is set by readConfig()
+ * calls and read by save() calls.
+ * @param defaultValue Default value, which is used when the config file
+ * does not yet contain the key of this item.
+ * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+ * @return The created item
+ */
+ ItemUInt *addItemUInt(const QString &name, quint32 &reference, quint32 defaultValue = 0, const QString &key = QString());
+
+ /**
+ * Register an item of type @c qint64.
+ *
+ * @param name Name used to identify this setting. Names must be unique.
+ * @param reference Pointer to the variable, which is set by readConfig()
+ * calls and read by save() calls.
+ * @param defaultValue Default value, which is used when the config file
+ * does not yet contain the key of this item.
+ * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+ * @return The created item
+ */
+ ItemLongLong *addItemLongLong(const QString &name, qint64 &reference, qint64 defaultValue = 0, const QString &key = QString());
+
+ /**
+ * Register an item of type @c quint64.
+ *
+ * @param name Name used to identify this setting. Names must be unique.
+ * @param reference Pointer to the variable, which is set by readConfig()
+ * calls and read by save() calls.
+ * @param defaultValue Default value, which is used when the config file
+ * does not yet contain the key of this item.
+ * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+ * @return The created item
+ */
+ ItemULongLong *addItemULongLong(const QString &name, quint64 &reference, quint64 defaultValue = 0, const QString &key = QString());
+
+ /**
+ * Register an item of type @c double.
+ *
+ * @param name Name used to identify this setting. Names must be unique.
+ * @param reference Pointer to the variable, which is set by readConfig()
+ * calls and read by save() calls.
+ * @param defaultValue Default value, which is used when the config file
+ * does not yet contain the key of this item.
+ * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+ * @return The created item
+ */
+ ItemDouble *addItemDouble(const QString &name, double &reference, double defaultValue = 0.0, const QString &key = QString());
+
+ /**
+ * Register an item of type QRect.
+ *
+ * @param name Name used to identify this setting. Names must be unique.
+ * @param reference Pointer to the variable, which is set by readConfig()
+ * calls and read by save() calls.
+ * @param defaultValue Default value, which is used when the config file
+ * does not yet contain the key of this item.
+ * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+ * @return The created item
+ */
+ ItemRect *addItemRect(const QString &name, QRect &reference, const QRect &defaultValue = QRect(), const QString &key = QString());
+
+ /**
+ * Register an item of type QRectF.
+ *
+ * @param name Name used to identify this setting. Names must be unique.
+ * @param reference Pointer to the variable, which is set by readConfig()
+ * calls and read by save() calls.
+ * @param defaultValue Default value, which is used when the config file
+ * does not yet contain the key of this item.
+ * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+ * @return The created item
+ */
+ ItemRectF *addItemRectF(const QString &name, QRectF &reference, const QRectF &defaultValue = QRectF(), const QString &key = QString());
+
+ /**
+ * Register an item of type QPoint.
+ *
+ * @param name Name used to identify this setting. Names must be unique.
+ * @param reference Pointer to the variable, which is set by readConfig()
+ * calls and read by save() calls.
+ * @param defaultValue Default value, which is used when the config file
+ * does not yet contain the key of this item.
+ * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+ * @return The created item
+ */
+ ItemPoint *addItemPoint(const QString &name, QPoint &reference, const QPoint &defaultValue = QPoint(), const QString &key = QString());
+
+ /**
+ * Register an item of type QPointF.
+ *
+ * @param name Name used to identify this setting. Names must be unique.
+ * @param reference Pointer to the variable, which is set by readConfig()
+ * calls and read by save() calls.
+ * @param defaultValue Default value, which is used when the config file
+ * does not yet contain the key of this item.
+ * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+ * @return The created item
+ */
+ ItemPointF *addItemPointF(const QString &name, QPointF &reference, const QPointF &defaultValue = QPointF(), const QString &key = QString());
+
+ /**
+ * Register an item of type QSize.
+ *
+ * @param name Name used to identify this setting. Names must be unique.
+ * @param reference Pointer to the variable, which is set by readConfig()
+ * calls and read by save() calls.
+ * @param defaultValue Default value, which is used when the config file
+ * does not yet contain the key of this item.
+ * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+ * @return The created item
+ */
+ ItemSize *addItemSize(const QString &name, QSize &reference, const QSize &defaultValue = QSize(), const QString &key = QString());
+
+ /**
+ * Register an item of type QSizeF.
+ *
+ * @param name Name used to identify this setting. Names must be unique.
+ * @param reference Pointer to the variable, which is set by readConfig()
+ * calls and read by save() calls.
+ * @param defaultValue Default value, which is used when the config file
+ * does not yet contain the key of this item.
+ * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+ * @return The created item
+ */
+ ItemSizeF *addItemSizeF(const QString &name, QSizeF &reference, const QSizeF &defaultValue = QSizeF(), const QString &key = QString());
+
+ /**
+ * Register an item of type QDateTime.
+ *
+ * @param name Name used to identify this setting. Names must be unique.
+ * @param reference Pointer to the variable, which is set by readConfig()
+ * calls and read by save() calls.
+ * @param defaultValue Default value, which is used when the config file
+ * does not yet contain the key of this item.
+ * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+ * @return The created item
+ */
+ ItemDateTime *addItemDateTime(const QString &name, QDateTime &reference, const QDateTime &defaultValue = QDateTime(), const QString &key = QString());
+
+ /**
+ * Register an item of type QStringList.
+ *
+ * @param name Name used to identify this setting. Names must be unique.
+ * @param reference Pointer to the variable, which is set by readConfig()
+ * calls and read by save() calls.
+ * @param defaultValue Default value, which is used when the config file
+ * does not yet contain the key of this item.
+ * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+ * @return The created item
+ */
+ ItemStringList *
+ addItemStringList(const QString &name, QStringList &reference, const QStringList &defaultValue = QStringList(), const QString &key = QString());
+
+ /**
+ * Register an item of type QList<int>.
+ *
+ * @param name Name used to identify this setting. Names must be unique.
+ * @param reference Pointer to the variable, which is set by readConfig()
+ * calls and read by save() calls.
+ * @param defaultValue Default value, which is used when the config file
+ * does not yet contain the key of this item.
+ * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+ * @return The created item
+ */
+ ItemIntList *addItemIntList(const QString &name, QList<int> &reference, const QList<int> &defaultValue = QList<int>(), const QString &key = QString());
+
+ /**
+ * Return the @ref KConfig object used for reading and writing the settings.
+ */
+ KConfig *config();
+
+ /**
+ * Return the @ref KConfig object used for reading and writing the settings.
+ */
+ const KConfig *config() const;
+
+ /**
+ * Return the @ref KConfig object used for reading and writing the settings.
+ * @since 5.0
+ */
+ KSharedConfig::Ptr sharedConfig() const;
+
+ /**
+ * Set the @ref KSharedConfig object used for reading and writing the settings.
+ */
+ void setSharedConfig(KSharedConfig::Ptr pConfig);
+
+ /**
+ * Return list of items managed by this KCoreConfigSkeleton object.
+ */
+ KConfigSkeletonItem::List items() const;
+
+ /**
+ * Removes and deletes an item by name
+ * @param name the name of the item to remove
+ */
+ void removeItem(const QString &name);
+
+ /**
+ * Removes and deletes all items
+ */
+ void clearItems();
+
+ /**
+ * Return whether a certain item is immutable
+ * @since 4.4
+ */
+ Q_INVOKABLE bool isImmutable(const QString &name) const;
+
+ /**
+ * Lookup item by name
+ * @since 4.4
+ */
+ KConfigSkeletonItem *findItem(const QString &name) const;
+
+ /**
+ * Specify whether this object should reflect the actual values or the
+ * default values.
+ * This method is implemented by usrUseDefaults(), which can be overridden
+ * in derived classes if you have special requirements and can call
+ * usrUseDefaults() directly.
+ * If you don't have control whether useDefaults() or usrUseDefaults() is
+ * called override useDefaults() directly.
+ * @param b @c true to make this object reflect the default values,
+ * @c false to make it reflect the actual values.
+ * @return The state prior to this call
+ */
+ virtual bool useDefaults(bool b);
+
+public Q_SLOTS:
+ /**
+ * Write preferences to config file. The values of all registered items are
+ * written to disk.
+ * This method calls usrSave() after writing the settings from the
+ * registered items to the KConfig. You can override usrSave()
+ * in derived classes if you have special requirements.
+ */
+ bool save();
+
+Q_SIGNALS:
+ /**
+ * This signal is emitted when the configuration change.
+ */
+ void configChanged();
+
+protected:
+ /**
+ * Implemented by subclasses that use special defaults.
+ * It replaces the default values with the actual values and
+ * vice versa. Called from @ref useDefaults()
+ * @param b @c true to make this object reflect the default values,
+ * @c false to make it reflect the actual values.
+ * @return The state prior to this call
+ */
+ virtual bool usrUseDefaults(bool b);
+
+ /**
+ * Perform the actual setting of default values.
+ * Override in derived classes to set special default values.
+ * Called from @ref setDefaults()
+ */
+ virtual void usrSetDefaults();
+
+ /**
+ * Perform the actual reading of the configuration file.
+ * Override in derived classes to read special config values.
+ * Called from @ref read()
+ */
+ virtual void usrRead();
+
+ /**
+ * Perform the actual writing of the configuration file.
+ * Override in derived classes to write special config values.
+ * Called from @ref save()
+ */
+ virtual bool usrSave();
+
+private:
+ KCoreConfigSkeletonPrivate *const d;
+ friend class KConfigSkeleton;
+};
+
+Q_DECLARE_TYPEINFO(KCoreConfigSkeleton::ItemEnum::Choice, Q_RELOCATABLE_TYPE);
+
+#endif
--- /dev/null
+/*
+ This file is part of KOrganizer.
+ SPDX-FileCopyrightText: 2000, 2001 Cornelius Schumacher <schumacher@kde.org>
+ SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCORECONFIGSKELETON_P_H
+#define KCORECONFIGSKELETON_P_H
+
+#include "kcoreconfigskeleton.h"
+
+class KCoreConfigSkeletonPrivate
+{
+public:
+ KCoreConfigSkeletonPrivate()
+ : mCurrentGroup(QStringLiteral("No Group"))
+ , mUseDefaults(false)
+ {
+ }
+ ~KCoreConfigSkeletonPrivate()
+ {
+ qDeleteAll(mItems);
+ }
+ QString mCurrentGroup;
+
+ KSharedConfig::Ptr mConfig; // pointer to KConfig object
+
+ KConfigSkeletonItem::List mItems;
+ KConfigSkeletonItem::Dict mItemDict;
+
+ bool mUseDefaults;
+};
+
+class KConfigSkeletonItemPrivate
+{
+public:
+ KConfigSkeletonItemPrivate()
+ : mIsImmutable(true)
+ , mWriteFlags(KConfigBase::Normal)
+ {
+ }
+ virtual ~KConfigSkeletonItemPrivate();
+ bool mIsImmutable; ///< Indicates this item is immutable
+ KConfigBase::WriteConfigFlags mWriteFlags; ///< The flags to pass to calls of writeEntry() and revertToDefault()
+
+ QString mLabel; ///< The label for this item
+ QString mToolTip; ///< The ToolTip text for this item
+ QString mWhatsThis; ///< The What's This text for this item
+ KConfigGroup mConfigGroup; ///< KConfigGroup, allow to read/write item in nested groups
+
+ // HACK: Necessary to avoid introducing new virtuals in KConfigSkeletonItem
+ std::function<bool()> mIsDefaultImpl;
+ std::function<bool()> mIsSaveNeededImpl;
+ std::function<QVariant()> mGetDefaultImpl;
+};
+
+class KPropertySkeletonItemPrivate : public KConfigSkeletonItemPrivate
+{
+public:
+ KPropertySkeletonItemPrivate(QObject *object, const QByteArray &propertyName, const QVariant &defaultValue)
+ : KConfigSkeletonItemPrivate()
+ , mObject(object)
+ , mPropertyName(propertyName)
+ , mDefaultValue(defaultValue)
+ , mConstDefaultValue(defaultValue)
+ {
+ mIsImmutable = false;
+ }
+
+ QObject *mObject;
+ const QByteArray mPropertyName;
+ QVariant mDefaultValue;
+ const QVariant mConstDefaultValue;
+ QVariant mReference;
+ QVariant mLoadedValue;
+ std::function<void()> mNotifyFunction;
+};
+
+#endif
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 1999 Pietro Iglio <iglio@kde.org>
+ SPDX-FileCopyrightText: 1999 Preston Brown <pbrown@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kdesktopfile.h"
+
+#include "kauthorized.h"
+#include "kconfig_core_log_settings.h"
+#include "kconfig_p.h"
+#include "kconfiggroup.h"
+#include "kconfigini_p.h"
+#include "kdesktopfileaction.h"
+
+#include <QDir>
+#include <QFileInfo>
+#include <QStandardPaths>
+#include <QUrl>
+
+#ifndef Q_OS_WIN
+#include <unistd.h>
+#endif
+
+#include <algorithm>
+
+class KDesktopFilePrivate : public KConfigPrivate
+{
+public:
+ KDesktopFilePrivate(QStandardPaths::StandardLocation resourceType, const QString &fileName)
+ : KConfigPrivate(KConfig::NoGlobals, resourceType)
+ {
+ changeFileName(fileName);
+ }
+ KConfigGroup desktopGroup;
+};
+
+KDesktopFile::KDesktopFile(QStandardPaths::StandardLocation resourceType, const QString &fileName)
+ : KConfig(*new KDesktopFilePrivate(resourceType, fileName))
+{
+ Q_D(KDesktopFile);
+ reparseConfiguration();
+ d->desktopGroup = KConfigGroup(this, QStringLiteral("Desktop Entry"));
+}
+
+KDesktopFile::KDesktopFile(const QString &fileName)
+ : KDesktopFile(QStandardPaths::ApplicationsLocation, fileName)
+{
+}
+
+KDesktopFile::~KDesktopFile() = default;
+
+KConfigGroup KDesktopFile::desktopGroup() const
+{
+ Q_D(const KDesktopFile);
+ return d->desktopGroup;
+}
+
+QString KDesktopFile::locateLocal(const QString &path)
+{
+ static const QLatin1Char slash('/');
+
+ // Relative to config? (e.g. for autostart)
+ const QStringList genericConfig = QStandardPaths::standardLocations(QStandardPaths::GenericConfigLocation);
+ // Iterate from the last item since some items may be subfolders of others.
+ auto it = std::find_if(genericConfig.crbegin(), genericConfig.crend(), [&path](const QString &dir) {
+ return path.startsWith(dir + slash);
+ });
+ if (it != genericConfig.crend()) {
+ return QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + slash + QStringView(path).mid(it->size() + 1);
+ }
+
+ QString relativePath;
+ // Relative to xdg data dir? (much more common)
+ const QStringList lstGenericDataLocation = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation);
+ for (const QString &dir : lstGenericDataLocation) {
+ if (path.startsWith(dir + slash)) {
+ relativePath = path.mid(dir.length() + 1);
+ }
+ }
+ if (relativePath.isEmpty()) {
+ // What now? The desktop file doesn't come from XDG_DATA_DIRS. Use filename only and hope for the best.
+ relativePath = path.mid(path.lastIndexOf(slash) + 1);
+ }
+ return QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + slash + relativePath;
+}
+
+bool KDesktopFile::isDesktopFile(const QString &path)
+{
+ return path.endsWith(QLatin1String(".desktop"));
+}
+
+bool KDesktopFile::isAuthorizedDesktopFile(const QString &path)
+{
+ if (path.isEmpty()) {
+ return false; // Empty paths are not ok.
+ }
+
+ if (QDir::isRelativePath(path)) {
+ return true; // Relative paths are ok.
+ }
+
+ const QString realPath = QFileInfo(path).canonicalFilePath();
+ if (realPath.isEmpty()) {
+ return false; // File doesn't exist.
+ }
+
+#ifndef Q_OS_WIN
+ static constexpr Qt::CaseSensitivity sensitivity = Qt::CaseSensitive;
+#else
+ static constexpr Qt::CaseSensitivity sensitivity = Qt::CaseInsensitive;
+#endif
+
+ // Check if the .desktop file is installed as part of KDE or XDG.
+ const QStringList appsDirs = QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation);
+ auto it = std::find_if(appsDirs.cbegin(), appsDirs.cend(), [&realPath, &path](const QString &prefix) {
+ QFileInfo info(prefix);
+ return info.exists() && info.isDir() && (realPath.startsWith(info.canonicalFilePath(), sensitivity) || path.startsWith(info.canonicalFilePath()));
+ });
+ if (it != appsDirs.cend()) {
+ return true;
+ }
+
+ const QString autostartDir = QStringLiteral("autostart/");
+ const QStringList lstConfigPath = QStandardPaths::standardLocations(QStandardPaths::GenericConfigLocation);
+ auto configIt = std::find_if(lstConfigPath.cbegin(), lstConfigPath.cend(), [&realPath, &autostartDir](const QString &xdgDataPrefix) {
+ QFileInfo info(xdgDataPrefix);
+ if (info.exists() && info.isDir()) {
+ const QString prefix = info.canonicalFilePath();
+ return realPath.startsWith(prefix + QLatin1Char('/') + autostartDir, sensitivity);
+ }
+ return false;
+ });
+ if (configIt != lstConfigPath.cend()) {
+ return true;
+ }
+
+ // Forbid desktop files outside of standard locations if kiosk is set so
+ if (!KAuthorized::authorize(QStringLiteral("run_desktop_files"))) {
+ qCWarning(KCONFIG_CORE_LOG) << "Access to" << path << "denied because of 'run_desktop_files' restriction.";
+ return false;
+ }
+
+ // Not otherwise permitted, so only allow if the file is executable, or if
+ // owned by root (uid == 0)
+ QFileInfo entryInfo(path);
+ if (entryInfo.isExecutable() || entryInfo.ownerId() == 0) {
+ return true;
+ }
+
+ qCInfo(KCONFIG_CORE_LOG) << "Access to" << path << "denied, not owned by root and executable flag not set.";
+ return false;
+}
+
+QString KDesktopFile::readType() const
+{
+ Q_D(const KDesktopFile);
+ return d->desktopGroup.readEntry("Type", QString());
+}
+
+QString KDesktopFile::readIcon() const
+{
+ Q_D(const KDesktopFile);
+ return d->desktopGroup.readEntry("Icon", QString());
+}
+
+QString KDesktopFile::readName() const
+{
+ Q_D(const KDesktopFile);
+ return d->desktopGroup.readEntry("Name", QString());
+}
+
+QString KDesktopFile::readComment() const
+{
+ Q_D(const KDesktopFile);
+ return d->desktopGroup.readEntry("Comment", QString());
+}
+
+QString KDesktopFile::readGenericName() const
+{
+ Q_D(const KDesktopFile);
+ return d->desktopGroup.readEntry("GenericName", QString());
+}
+
+QString KDesktopFile::readPath() const
+{
+ Q_D(const KDesktopFile);
+ // NOT readPathEntry, it is not XDG-compliant: it performs
+ // various expansions, like $HOME. Note that the expansion
+ // behaviour still happens if the "e" flag is set, maintaining
+ // backwards compatibility.
+ return d->desktopGroup.readEntry("Path", QString());
+}
+
+QString KDesktopFile::readUrl() const
+{
+ Q_D(const KDesktopFile);
+ if (hasDeviceType()) {
+ return d->desktopGroup.readEntry("MountPoint", QString());
+ } else {
+ // NOT readPathEntry (see readPath())
+ QString url = d->desktopGroup.readEntry("URL", QString());
+ if (!url.isEmpty() && !QDir::isRelativePath(url)) {
+ // Handle absolute paths as such (i.e. we need to escape them)
+ return QUrl::fromLocalFile(url).toString();
+ }
+ return url;
+ }
+}
+
+QStringList KDesktopFile::readActions() const
+{
+ Q_D(const KDesktopFile);
+ return d->desktopGroup.readXdgListEntry("Actions");
+}
+
+QStringList KDesktopFile::readMimeTypes() const
+{
+ Q_D(const KDesktopFile);
+ return d->desktopGroup.readXdgListEntry("MimeType");
+}
+
+KConfigGroup KDesktopFile::actionGroup(const QString &group)
+{
+ return KConfigGroup(this, QLatin1String("Desktop Action ") + group);
+}
+
+KConfigGroup KDesktopFile::actionGroup(const QString &group) const
+{
+ return const_cast<KDesktopFile *>(this)->actionGroup(group);
+}
+
+bool KDesktopFile::hasActionGroup(const QString &group) const
+{
+ return hasGroup(QString(QLatin1String("Desktop Action ") + group));
+}
+
+bool KDesktopFile::hasLinkType() const
+{
+ return readType() == QLatin1String("Link");
+}
+
+bool KDesktopFile::hasApplicationType() const
+{
+ return readType() == QLatin1String("Application");
+}
+
+bool KDesktopFile::hasDeviceType() const
+{
+ return readType() == QLatin1String("FSDevice");
+}
+
+bool KDesktopFile::tryExec() const
+{
+ Q_D(const KDesktopFile);
+ // Test for TryExec and "X-KDE-AuthorizeAction"
+ // NOT readPathEntry (see readPath())
+ const QString te = d->desktopGroup.readEntry("TryExec", QString());
+ if (!te.isEmpty() && QStandardPaths::findExecutable(te).isEmpty()) {
+ return false;
+ }
+ const QStringList list = d->desktopGroup.readEntry("X-KDE-AuthorizeAction", QStringList());
+ const auto isNotAuthorized = std::any_of(list.cbegin(), list.cend(), [](const QString &action) {
+ return !KAuthorized::authorize(action.trimmed());
+ });
+ if (isNotAuthorized) {
+ return false;
+ }
+
+ // See also KService::username()
+ if (d->desktopGroup.readEntry("X-KDE-SubstituteUID", false)) {
+ QString user = d->desktopGroup.readEntry("X-KDE-Username", QString());
+ if (user.isEmpty()) {
+ user = qEnvironmentVariable("ADMIN_ACCOUNT"), QStringLiteral("root");
+ }
+ if (!KAuthorized::authorize(QLatin1String("user/") + user)) {
+ return false;
+ }
+ }
+
+ return true;
+}
+
+QString KDesktopFile::readDocPath() const
+{
+ Q_D(const KDesktopFile);
+ return d->desktopGroup.readPathEntry("X-DocPath", QString());
+}
+
+KDesktopFile *KDesktopFile::copyTo(const QString &file) const
+{
+ KDesktopFile *config = new KDesktopFile(QString());
+ this->KConfig::copyTo(file, config);
+ return config;
+}
+
+QString KDesktopFile::fileName() const
+{
+ return name();
+}
+
+bool KDesktopFile::noDisplay() const
+{
+ Q_D(const KDesktopFile);
+ return d->desktopGroup.readEntry("NoDisplay", false);
+}
+
+QList<KDesktopFileAction> KDesktopFile::actions() const
+{
+ QList<KDesktopFileAction> desktopFileActions;
+ const QStringList actionKeys = readActions();
+ for (const QString &actionKey : actionKeys) {
+ const KConfigGroup grp = actionGroup(actionKey);
+ desktopFileActions << KDesktopFileAction(actionKey, grp.readEntry("Name"), grp.readEntry("Icon"), grp.readEntry("Exec"), fileName());
+ }
+ return desktopFileActions;
+}
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 1999 Pietro Iglio <iglio@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+#ifndef KDESKTOPFILE_H
+#define KDESKTOPFILE_H
+
+#include <kconfig.h>
+
+class KConfigGroup;
+class KDesktopFileAction;
+class KDesktopFilePrivate;
+
+/**
+ * \class KDesktopFile kdesktopfile.h <KDesktopFile>
+ *
+ * %KDE Desktop File Management.
+ * This class implements %KDE's support for the freedesktop.org
+ * <em>Desktop Entry Spec</em>.
+ *
+ * @author Pietro Iglio <iglio@kde.org>
+ * @see KConfigBase KConfig
+ * @see <a href="https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html">Desktop Entry Spec</a>
+ */
+class KCONFIGCORE_EXPORT KDesktopFile : public KConfig
+{
+public:
+ /**
+ * Constructs a KDesktopFile object.
+ *
+ * See QStandardPaths for more information on resources.
+ *
+ * @param resourceType Allows you to change what sort of resource
+ * to search for if @p fileName is not absolute.
+ * For instance, you might want to specify GenericConfigLocation.
+ * @param fileName The name or path of the desktop file. If it
+ * is not absolute, it will be located
+ * using the resource type @p resType.
+ */
+ explicit KDesktopFile(QStandardPaths::StandardLocation resourceType, const QString &fileName);
+
+ /**
+ * Constructs a KDesktopFile object.
+ *
+ * See QStandardPaths for more information on resources.
+ *
+ * @param fileName The name or path of the desktop file. If it
+ * is not absolute, it will be located
+ * using the resource type ApplicationsLocation
+ */
+ explicit KDesktopFile(const QString &fileName);
+
+ /**
+ * Destructs the KDesktopFile object.
+ *
+ * Writes back any changed configuration entries.
+ */
+ ~KDesktopFile() override;
+
+ /**
+ * Checks whether this is really a desktop file.
+ *
+ * The check is performed looking at the file extension (the file is not
+ * opened).
+ * Currently, the only valid extension is ".desktop".
+ * @param path the path of the file to check
+ * @return true if the file appears to be a desktop file.
+ */
+ static bool isDesktopFile(const QString &path);
+
+ /**
+ * Checks whether the user is authorized to run this desktop file.
+ * By default users are authorized to run all desktop files but
+ * the KIOSK framework can be used to activate certain restrictions.
+ * See README.kiosk for more information.
+ *
+ * Note that desktop files that are not in a standard location (as
+ * specified by XDG_DATA_DIRS) must have their executable bit set
+ * to be authorized, regardless of KIOSK settings, to prevent users
+ * from inadvertently running trojan desktop files.
+ *
+ * @param path the file to check
+ * @return true if the user is authorized to run the file
+ */
+ static bool isAuthorizedDesktopFile(const QString &path);
+
+ /**
+ * Returns the location where changes for the .desktop file @p path
+ * should be written to.
+ */
+ static QString locateLocal(const QString &path);
+
+ /**
+ * Returns the main config group (named "Desktop Entry") in a .desktop file.
+ */
+ KConfigGroup desktopGroup() const;
+
+ /**
+ * Returns the value of the "Type=" entry.
+ * @return the type or QString() if not specified
+ */
+ QString readType() const;
+
+ /**
+ * Returns the value of the "Icon=" entry.
+ * @return the icon or QString() if not specified
+ */
+ QString readIcon() const;
+
+ /**
+ * Returns the value of the "Name=" entry.
+ * @return the name or QString() if not specified
+ */
+ QString readName() const;
+
+ /**
+ * Returns the value of the "Comment=" entry.
+ * @return the comment or QString() if not specified
+ */
+ QString readComment() const;
+
+ /**
+ * Returns the value of the "GenericName=" entry.
+ * @return the generic name or QString() if not specified
+ */
+ QString readGenericName() const;
+
+ /**
+ * Returns the value of the "Path=" entry.
+ * @return the path or QString() if not specified
+ */
+ QString readPath() const;
+
+ /**
+ * Returns the value of the "URL=" entry.
+ * @return the URL or QString() if not specified
+ */
+ QString readUrl() const;
+
+ /**
+ * Returns a list of the "Actions=" entries.
+ * @return the list of actions
+ */
+ QStringList readActions() const;
+
+ /**
+ * Returns a list of the "MimeType=" entries.
+ * @return the list of mime types
+ * @since 5.15
+ */
+ QStringList readMimeTypes() const;
+
+ /**
+ * Sets the desktop action group.
+ * @param group the new action group
+ */
+ KConfigGroup actionGroup(const QString &group);
+ KConfigGroup actionGroup(const QString &group) const;
+
+ /**
+ * Returns true if the action group exists, false otherwise
+ * @param group the action group to test
+ * @return true if the action group exists
+ */
+ bool hasActionGroup(const QString &group) const;
+
+ /**
+ * Checks whether there is a "Type=Link" entry.
+ *
+ * The link points to the "URL=" entry.
+ * @return true if there is a "Type=Link" entry
+ */
+ bool hasLinkType() const;
+
+ /**
+ * Checks whether there is an entry "Type=Application".
+ * @return true if there is a "Type=Application" entry
+ */
+ bool hasApplicationType() const;
+
+ /**
+ * Checks whether there is an entry "Type=FSDevice".
+ * @return true if there is a "Type=FSDevice" entry
+ */
+ bool hasDeviceType() const;
+
+ /**
+ * Checks whether the TryExec field contains a binary
+ * which is found on the local system.
+ * @return true if TryExec contains an existing binary
+ */
+ bool tryExec() const;
+
+ /**
+ * Returns the value of the "X-DocPath=" Or "DocPath=" entry.
+ * @return The value of the "X-DocPath=" Or "DocPath=" entry.
+ */
+ QString readDocPath() const;
+
+ /**
+ * Whether the entry should be suppressed in menus.
+ * This handles the NoDisplay key
+ * @return true to suppress this desktop file
+ * @since 4.1
+ */
+ bool noDisplay() const;
+
+ /**
+ * Copies all entries from this config object to a new
+ * KDesktopFile object that will save itself to @p file.
+ *
+ * Actual saving to @p file happens when the returned object is
+ * destructed or when sync() is called upon it.
+ *
+ * @param file the new KDesktopFile object it will save itself to.
+ */
+ KDesktopFile *copyTo(const QString &file) const;
+
+ /**
+ * Returns the name of the .desktop file that was used to construct this KDesktopFile.
+ */
+ QString fileName() const;
+
+ /**
+ *
+ * @since 6.0
+ */
+ QList<KDesktopFileAction> actions() const;
+
+private:
+ Q_DISABLE_COPY(KDesktopFile)
+
+ Q_DECLARE_PRIVATE(KDesktopFile)
+};
+
+#endif
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2023 Alexander Lohnau <alexander.lohnau@gmx.de>
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+#include "kdesktopfileaction.h"
+#include <QSharedData>
+
+class KDesktopFileActionPrivate : public QSharedData
+{
+public:
+ QString m_internalActionKey;
+ QString m_name;
+ QString m_icon;
+ QString m_exec;
+ QString m_desktopFilePath;
+
+ KDesktopFileActionPrivate(const QString &name, const QString &text, const QString &icon, const QString &exec, const QString &desktopFilePath)
+ : m_internalActionKey(name)
+ , m_name(text)
+ , m_icon(icon)
+ , m_exec(exec)
+ , m_desktopFilePath(desktopFilePath)
+ {
+ }
+ KDesktopFileActionPrivate() = default;
+};
+
+KDesktopFileAction::KDesktopFileAction(const QString &name, const QString &text, const QString &icon, const QString &exec, const QString &desktopFilePath)
+ : d(new KDesktopFileActionPrivate(name, text, icon, exec, desktopFilePath))
+{
+}
+
+KDesktopFileAction::KDesktopFileAction()
+ : d(new KDesktopFileActionPrivate())
+{
+}
+
+KDesktopFileAction::KDesktopFileAction(const KDesktopFileAction &other) = default;
+KDesktopFileAction &KDesktopFileAction::operator=(const KDesktopFileAction &other) = default;
+KDesktopFileAction::KDesktopFileAction(KDesktopFileAction &&other) = default;
+KDesktopFileAction &KDesktopFileAction::operator=(KDesktopFileAction &&other) = default;
+KDesktopFileAction::~KDesktopFileAction() = default;
+
+QString KDesktopFileAction::actionsKey() const
+{
+ return d->m_internalActionKey;
+}
+
+QString KDesktopFileAction::desktopFilePath() const
+{
+ return d->m_desktopFilePath;
+}
+
+QString KDesktopFileAction::name() const
+{
+ return d->m_name;
+}
+
+QString KDesktopFileAction::icon() const
+{
+ return d->m_icon;
+}
+
+QString KDesktopFileAction::exec() const
+{
+ return d->m_exec;
+}
+
+bool KDesktopFileAction::isSeparator() const
+{
+ return d->m_internalActionKey == QLatin1String("_SEPARATOR_");
+}
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2023 Alexander Lohnau <alexander.lohnau@gmx.de>
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KDESKTOPFILEACTION_H
+#define KDESKTOPFILEACTION_H
+#include <kconfigcore_export.h>
+
+#include <QSharedDataPointer>
+#include <QString>
+
+class KDesktopFileActionPrivate;
+
+/**
+ * Class for representing an Action of a desktop file
+ *
+ * @since 6.0
+ */
+class KCONFIGCORE_EXPORT KDesktopFileAction
+{
+public:
+ /**
+ * Construct an empty KDesktopFileAction. Needed so the Action can be stored in containers that require type T to be
+ * default constructible (e.g. QVariant).
+ */
+ explicit KDesktopFileAction();
+ /**
+ * Construct a KDesktopFileAction with all required properties
+ */
+ explicit KDesktopFileAction(const QString &name, const QString &text, const QString &icon, const QString &exec, const QString &desktopFilePath);
+
+ KDesktopFileAction(const KDesktopFileAction &other);
+ KDesktopFileAction &operator=(const KDesktopFileAction &other);
+ KDesktopFileAction(KDesktopFileAction &&other);
+ KDesktopFileAction &operator=(KDesktopFileAction &&other);
+ ~KDesktopFileAction();
+
+ /**
+ * @return the action's internal name
+ * For instance Actions=Setup;... and the group [Desktop Action Setup]
+ * define an action with the name "Setup".
+ */
+ QString actionsKey() const;
+
+ /**
+ * @return Path of the desktop file this action was loaded from
+ */
+ QString desktopFilePath() const;
+
+ /**
+ * @return the action's Name, as defined by the Name key in the desktop action group
+ */
+ QString name() const;
+
+ /**
+ * @return the action's icon, as defined by the Icon key in the desktop action group
+ */
+ QString icon() const;
+
+ /**
+ * @return the action's exec command, as defined by the Exec key in the desktop action group
+ */
+ QString exec() const;
+
+ /**
+ * Returns whether the action is a separator.
+ * This is true when the Actions key contains "_SEPARATOR_".
+ */
+ bool isSeparator() const;
+
+private:
+ QSharedDataPointer<KDesktopFileActionPrivate> d;
+};
+#endif
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2000 Alex Zepeda <zipzippy@sonic.net>
+
+ SPDX-License-Identifier: BSD-2-Clause
+*/
+
+#include "kemailsettings.h"
+
+#include <kconfig.h>
+#include <kconfiggroup.h>
+
+class KEMailSettingsPrivate
+{
+public:
+ KEMailSettingsPrivate()
+ : m_pConfig(nullptr)
+ {
+ }
+ ~KEMailSettingsPrivate()
+ {
+ delete m_pConfig;
+ }
+ KConfig *m_pConfig;
+ QStringList profiles;
+ QString m_sDefaultProfile, m_sCurrentProfile;
+};
+
+QString KEMailSettings::defaultProfileName() const
+{
+ return p->m_sDefaultProfile;
+}
+
+QString KEMailSettings::getSetting(KEMailSettings::Setting s) const
+{
+ KConfigGroup cg(p->m_pConfig, QLatin1String("PROFILE_") + p->m_sCurrentProfile);
+ switch (s) {
+ case ClientProgram: {
+ return cg.readEntry("EmailClient");
+ }
+ case ClientTerminal: {
+ return cg.readEntry("TerminalClient", QVariant(false)).toString();
+ }
+ case RealName: {
+ return cg.readEntry("FullName");
+ }
+ case EmailAddress: {
+ return cg.readEntry("EmailAddress");
+ }
+ case ReplyToAddress: {
+ return cg.readEntry("ReplyAddr");
+ }
+ case Organization: {
+ return cg.readEntry("Organization");
+ }
+ };
+ return QString();
+}
+void KEMailSettings::setSetting(KEMailSettings::Setting s, const QString &v)
+{
+ KConfigGroup cg(p->m_pConfig, QLatin1String("PROFILE_") + p->m_sCurrentProfile);
+ switch (s) {
+ case ClientProgram: {
+ cg.writePathEntry("EmailClient", v);
+ break;
+ }
+ case ClientTerminal: {
+ cg.writeEntry("TerminalClient", (v == QLatin1String("true")));
+ break;
+ }
+ case RealName: {
+ cg.writeEntry("FullName", v);
+ break;
+ }
+ case EmailAddress: {
+ cg.writeEntry("EmailAddress", v);
+ break;
+ }
+ case ReplyToAddress: {
+ cg.writeEntry("ReplyAddr", v);
+ break;
+ }
+ case Organization: {
+ cg.writeEntry("Organization", v);
+ break;
+ }
+ };
+ cg.sync();
+}
+
+void KEMailSettings::setDefault(const QString &s)
+{
+ p->m_pConfig->group(QStringLiteral("Defaults")).writeEntry("Profile", s);
+ p->m_pConfig->sync();
+ p->m_sDefaultProfile = s;
+}
+
+void KEMailSettings::setProfile(const QString &s)
+{
+ const QString groupname = QLatin1String("PROFILE_") + s;
+ p->m_sCurrentProfile = s;
+ if (!p->m_pConfig->hasGroup(groupname)) { // Create a group if it doesn't exist
+ KConfigGroup cg(p->m_pConfig, groupname);
+ cg.writeEntry("ServerType", QString());
+ p->profiles += s;
+ }
+}
+
+QStringList KEMailSettings::profiles() const
+{
+ return p->profiles;
+}
+
+KEMailSettings::KEMailSettings()
+ : p(new KEMailSettingsPrivate())
+{
+ p->m_sCurrentProfile.clear();
+
+ p->m_pConfig = new KConfig(QStringLiteral("emaildefaults"));
+
+ const QStringList groups = p->m_pConfig->groupList();
+ for (const auto &grp : groups) {
+ if (grp.startsWith(QLatin1String("PROFILE_"))) {
+ p->profiles += grp.mid(8 /* length of "PROFILE_" */);
+ }
+ }
+
+ KConfigGroup cg(p->m_pConfig, QStringLiteral("Defaults"));
+ p->m_sDefaultProfile = cg.readEntry("Profile", tr("Default"));
+ if (!p->m_sDefaultProfile.isNull()) {
+ if (!p->m_pConfig->hasGroup(QLatin1String("PROFILE_") + p->m_sDefaultProfile)) {
+ setDefault(tr("Default"));
+ } else {
+ setDefault(p->m_sDefaultProfile);
+ }
+ } else {
+ if (!p->profiles.isEmpty()) {
+ setDefault(p->profiles[0]);
+ } else {
+ setDefault(tr("Default"));
+ }
+ }
+ setProfile(defaultProfileName());
+}
+
+KEMailSettings::~KEMailSettings()
+{
+ delete p;
+}
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2000 Alex Zepeda <zipzippy@sonic.net>
+
+ SPDX-License-Identifier: BSD-2-Clause
+*/
+
+#ifndef _KEMAILSETTINGS_H
+#define _KEMAILSETTINGS_H
+
+#include <QCoreApplication> // Q_DECLARE_TR_FUNCTIONS
+#include <QStringList>
+
+#include <kconfigcore_export.h>
+
+class KEMailSettingsPrivate;
+
+/**
+ * \class KEMailSettings kemailsettings.h <KEMailSettings>
+ *
+ * This is just a small class to facilitate accessing e-mail settings in
+ * a sane way, and allowing any program to manage multiple e-mail
+ * profiles effortlessly
+ *
+ * The default profile is automatically selected in the constructor.
+ *
+ * @author Alex Zepeda zipzippy@sonic.net
+ **/
+class KCONFIGCORE_EXPORT KEMailSettings
+{
+ Q_DECLARE_TR_FUNCTIONS(KEMailSettings)
+public:
+ /**
+ * The list of settings that I thought of when I wrote this
+ * class.
+ * @see getSetting()
+ * @see setSetting()
+ **/
+ enum Setting {
+ ClientProgram,
+ ClientTerminal,
+ RealName,
+ EmailAddress,
+ ReplyToAddress,
+ Organization,
+ };
+
+ /**
+ * Default constructor, just sets things up and sets the default profile
+ * as the current profile
+ **/
+ KEMailSettings();
+
+ KEMailSettings(const KEMailSettings &) = delete;
+ KEMailSettings &operator=(const KEMailSettings &) = delete;
+
+ /**
+ * Default destructor, nothing to see here.
+ **/
+ ~KEMailSettings();
+
+ /**
+ * List of profiles available.
+ * @return the list of profiles
+ **/
+ QStringList profiles() const;
+
+ /**
+ * Change the current profile.
+ * @param s the name of the new profile
+ **/
+ void setProfile(const QString &s);
+
+ /**
+ * Returns the name of the default profile.
+ * @returns the name of the one that's currently default QString() if none
+ **/
+ QString defaultProfileName() const;
+
+ /**
+ * Sets a new default.
+ * @param def the new default
+ **/
+ void setDefault(const QString &def);
+
+ /**
+ * Get one of the predefined "basic" settings.
+ * @param s the setting to get
+ * @return the value of the setting, or QString() if not
+ * set
+ **/
+ QString getSetting(KEMailSettings::Setting s) const;
+
+ /**
+ * Set one of the predefined "basic" settings.
+ * @param s the setting to set
+ * @param v the new value of the setting, or QString() to
+ * unset
+ **/
+ void setSetting(KEMailSettings::Setting s, const QString &v);
+
+private:
+ KEMailSettingsPrivate *const p;
+};
+
+#endif
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 1999 Preston Brown <pbrown@kde.org>
+ SPDX-FileCopyrightText: 1997-1999 Matthias Kalle Dalheimer <kalle@kde.org>
+ SPDX-FileCopyrightText: 2024 Harald Sitter <sitter@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "ksharedconfig.h"
+#include "kconfig_core_log_settings.h"
+#include "kconfig_p.h"
+#include "kconfiggroup.h"
+#include <QCoreApplication>
+#include <QThread>
+#include <QThreadStorage>
+
+using namespace Qt::StringLiterals;
+
+void _k_globalMainConfigSync();
+
+using SharedConfigList = QList<KSharedConfig *>;
+
+class GlobalSharedConfig
+{
+public:
+ GlobalSharedConfig()
+ : wasTestModeEnabled(false)
+ {
+ if (!qApp || QThread::currentThread() == qApp->thread()) {
+ // We want to force the sync() before the QCoreApplication
+ // instance is gone. Otherwise we trigger a QLockFile::lock()
+ // after QCoreApplication is gone, calling qAppName() for a non
+ // existent app...
+ qAddPostRoutine(&_k_globalMainConfigSync);
+ }
+ // In other threads, QThreadStorage takes care of deleting the GlobalSharedConfigList when
+ // the thread exits.
+ }
+
+ SharedConfigList configList;
+ // in addition to the list, we need to hold the main config,
+ // so that it's not created and destroyed all the time.
+ KSharedConfigPtr mainConfig;
+ bool wasTestModeEnabled;
+};
+
+static QThreadStorage<GlobalSharedConfig *> s_storage;
+template<typename T>
+T *perThreadGlobalStatic()
+{
+ if (!s_storage.hasLocalData()) {
+ s_storage.setLocalData(new T);
+ }
+ return s_storage.localData();
+}
+
+// Q_GLOBAL_STATIC(GlobalSharedConfigList, globalSharedConfigList), but per thread:
+static GlobalSharedConfig *globalSharedConfig()
+{
+ return perThreadGlobalStatic<GlobalSharedConfig>();
+}
+
+namespace
+{
+[[nodiscard]] QString migrateStateRc(const QString &fileName)
+{
+ // Migrate from an old legacy path to new spec compliant ~/.local/state/
+ // https://gitlab.freedesktop.org/xdg/xdg-specs/-/blob/master/basedir/basedir-spec.xml
+ // TODO KF7: refactor openStateConfig so it always opens from XDG_STATE_HOME instead of the legacy when on an XDG platform
+
+#if !defined(Q_OS_WINDOWS) && !defined(Q_OS_ANDROID) && !defined(Q_OS_MACOS)
+ if (QFileInfo(fileName).isAbsolute()) {
+ return fileName;
+ }
+
+ static auto xdgStateHome = qEnvironmentVariable("XDG_STATE_HOME", QDir::homePath() + "/.local/state"_L1);
+ if (fileName.startsWith(xdgStateHome)) [[unlikely]] {
+ return fileName;
+ }
+
+ QString newPath = xdgStateHome + "/"_L1 + fileName; // intentionally not const so it can be move returned
+ QString oldPath = QStandardPaths::locate(QStandardPaths::AppDataLocation, fileName);
+ if (oldPath.isEmpty()) { // nothing to migrate
+ return newPath;
+ }
+ if (QFile::exists(oldPath) && QFile::exists(newPath)) {
+ qCDebug(KCONFIG_CORE_LOG) << "Old staterc and new staterc found. Not migrating! Using new path" << newPath;
+ return newPath;
+ }
+
+ if (QFile::exists(newPath)) { // already migrated
+ return newPath;
+ }
+
+ // Migrate legacy files.
+ // On failure we return the new path because we want higher level technology to surface the new path for read/write errors.
+ if (!QDir().exists(xdgStateHome)) {
+ if (!QDir().mkpath(xdgStateHome)) {
+ qCWarning(KCONFIG_CORE_LOG) << "Failed to make state directory" << xdgStateHome;
+ return newPath;
+ }
+ }
+ qCInfo(KCONFIG_CORE_LOG) << "Migrating old staterc" << oldPath << "->" << newPath;
+ if (!QFile::rename(oldPath, newPath)) {
+ qCWarning(KCONFIG_CORE_LOG) << "Failed to migrate" << oldPath << "->" << newPath;
+ return newPath;
+ }
+
+ return newPath;
+#else
+ return fileName;
+#endif
+}
+} // namespace
+
+void _k_globalMainConfigSync()
+{
+ if (KSharedConfigPtr mainConfig = globalSharedConfig()->mainConfig) {
+ mainConfig->sync();
+ }
+}
+
+KSharedConfigPtr KSharedConfig::openConfig(const QString &_fileName, OpenFlags flags, QStandardPaths::StandardLocation resType)
+{
+ QString fileName(_fileName);
+ GlobalSharedConfig *global = globalSharedConfig();
+ if (fileName.isEmpty() && !flags.testFlag(KConfig::SimpleConfig)) {
+ // Determine the config file name that KConfig will make up (see KConfigPrivate::changeFileName)
+ fileName = KConfig::mainConfigName();
+ }
+
+ if (!global->wasTestModeEnabled && QStandardPaths::isTestModeEnabled()) {
+ global->wasTestModeEnabled = true;
+ global->configList.clear();
+ global->mainConfig = nullptr;
+ }
+
+ for (auto *cfg : std::as_const(global->configList)) {
+ if (cfg->name() == fileName && cfg->d_ptr->openFlags == flags && cfg->locationType() == resType) {
+ return KSharedConfigPtr(cfg);
+ }
+ }
+
+ KSharedConfigPtr ptr(new KSharedConfig(fileName, flags, resType));
+
+ if (_fileName.isEmpty() && flags == FullConfig && resType == QStandardPaths::GenericConfigLocation) {
+ global->mainConfig = ptr;
+
+ const bool isMainThread = !qApp || QThread::currentThread() == qApp->thread();
+ static bool userWarned = false;
+ if (isMainThread && !userWarned) {
+ userWarned = true;
+ const bool isReadOnly = qEnvironmentVariableIsEmpty("KDE_HOME_READONLY");
+ if (isReadOnly && QCoreApplication::applicationName() != QLatin1String("kdialog")) {
+ if (ptr->group(QStringLiteral("General")).readEntry(QStringLiteral("warn_unwritable_config"), true)) {
+ ptr->isConfigWritable(true);
+ }
+ }
+ }
+ }
+
+ return ptr;
+}
+
+KSharedConfig::Ptr KSharedConfig::openStateConfig(const QString &_fileName)
+{
+ QString fileName(_fileName);
+
+ if (fileName.isEmpty()) {
+ fileName = QCoreApplication::applicationName() + QLatin1String("staterc");
+ }
+
+ return openConfig(migrateStateRc(fileName),
+ SimpleConfig,
+ QStandardPaths::AppDataLocation /* only used on !XDG platform, on XDG we resolve an absolute path (unless there are problems) */);
+}
+
+KSharedConfig::KSharedConfig(const QString &fileName, OpenFlags flags, QStandardPaths::StandardLocation resType)
+ : KConfig(fileName, flags, resType)
+{
+ globalSharedConfig()->configList.append(this);
+}
+
+KSharedConfig::~KSharedConfig()
+{
+ if (s_storage.hasLocalData()) {
+ globalSharedConfig()->configList.removeAll(this);
+ }
+}
+
+KConfigGroup KSharedConfig::groupImpl(const QString &groupName)
+{
+ KSharedConfigPtr ptr(this);
+ return KConfigGroup(ptr, groupName);
+}
+
+const KConfigGroup KSharedConfig::groupImpl(const QString &groupName) const
+{
+ const KSharedConfigPtr ptr(const_cast<KSharedConfig *>(this));
+ return KConfigGroup(ptr, groupName);
+}
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 1999 Preston Brown <pbrown@kde.org>
+ SPDX-FileCopyrightText: 1997-1999 Matthias Kalle Dalheimer <kalle@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KSHAREDCONFIG_H
+#define KSHAREDCONFIG_H
+
+#include <QExplicitlySharedDataPointer>
+#include <kconfig.h>
+
+/**
+ * \class KSharedConfig ksharedconfig.h <KSharedConfig>
+ *
+ * KConfig variant using shared memory
+ *
+ * KSharedConfig provides a shared (reference counted) variant
+ * of KConfig. This allows you to use/manipulate the same configuration
+ * files from different places in your code without worrying about
+ * accidentally overwriting changes.
+ *
+ * The openConfig() method is threadsafe: every thread gets a separate repository
+ * of shared KConfig objects. This means, however, that you'll be responsible for
+ * synchronizing the instances of KConfig for the same filename between threads,
+ * using KConfig::reparseConfiguration() after a manual change notification, just like you have
+ * to do between processes.
+ */
+class KCONFIGCORE_EXPORT KSharedConfig : public KConfig, public QSharedData // krazy:exclude=dpointer (only for refcounting)
+{
+public:
+ typedef QExplicitlySharedDataPointer<KSharedConfig> Ptr;
+
+public:
+ /**
+ * Creates a KSharedConfig object to manipulate a configuration file
+ *
+ * If an absolute path is specified for @p fileName, that file will be used
+ * as the store for the configuration settings. If a non-absolute path
+ * is provided, the file will be looked for in the standard directory
+ * specified by @p type. If no path is provided, a default
+ * configuration file will be used based on the name of the main
+ * application component.
+ *
+ * @p mode determines whether the user or global settings will be allowed
+ * to influence the values returned by this object. See KConfig::OpenFlags for
+ * more details.
+ *
+ * @param fileName the configuration file to open. If empty, it will be determined
+ * automatically (from --config on the command line, otherwise
+ * from the application name + "rc")
+ * @param mode how global settings should affect the configuration
+ * options exposed by this KConfig object
+ * @param type The standard directory to look for the configuration
+ * file in (see QStandardPaths)
+ *
+ * @sa KConfig
+ */
+ static KSharedConfig::Ptr
+ openConfig(const QString &fileName = QString(), OpenFlags mode = FullConfig, QStandardPaths::StandardLocation type = QStandardPaths::GenericConfigLocation);
+
+ /**
+ * Creates a KSharedConfig object to manipulate a configuration file suitable
+ * for storing state information. Use this for storing information that is
+ * changing frequently and should not be saved by configuration backup
+ * utilities.
+ *
+ * If an absolute path is specified for @p fileName, that file will be used
+ * as the store for the configuration settings. If a non-absolute path
+ * is provided, the file will be looked for in the standard data directory
+ * (QStandardPaths::AppDataLocation). If no path is provided, a default
+ * configuration file will be used based on the name of the main
+ * application component.
+ *
+ * @param fileName the configuration file to open. If empty, it will be determined
+ * automatically from the application name + "staterc"
+ *
+ * @since 5.67
+ *
+ * @sa KConfig
+ */
+ static KSharedConfig::Ptr openStateConfig(const QString &fileName = QString());
+
+ ~KSharedConfig() override;
+
+private:
+ Q_DISABLE_COPY(KSharedConfig)
+ KConfigGroup groupImpl(const QString &groupName) override;
+ const KConfigGroup groupImpl(const QString &groupName) const override;
+
+ KCONFIGCORE_NO_EXPORT KSharedConfig(const QString &file, OpenFlags mode, QStandardPaths::StandardLocation resourceType);
+};
+
+typedef KSharedConfig::Ptr KSharedConfigPtr;
+
+#endif // multiple inclusion guard
--- /dev/null
+add_library(KF6ConfigGui)
+add_library(KF6::ConfigGui ALIAS KF6ConfigGui)
+
+qt_extract_metatypes(KF6ConfigGui)
+
+set_target_properties(KF6ConfigGui PROPERTIES
+ VERSION ${KCONFIG_VERSION}
+ SOVERSION ${KCONFIG_SOVERSION}
+ EXPORT_NAME ConfigGui
+)
+
+ecm_create_qm_loader(KF6ConfigGui kconfig6_qt)
+
+target_sources(KF6ConfigGui PRIVATE
+ kconfiggui.cpp
+ kconfiggroupgui.cpp
+ kconfigloader.cpp
+ kconfigskeleton.cpp
+ kstandardshortcut.cpp
+ kstandardshortcutwatcher.cpp
+ kwindowconfig.cpp
+ kwindowstatesaver.cpp
+ kstandardactions.cpp
+)
+
+ecm_qt_declare_logging_category(KF6ConfigGui
+ HEADER kconfig_gui_log_settings.h
+ IDENTIFIER KCONFIG_GUI_LOG
+ CATEGORY_NAME kf.config.gui
+ DESCRIPTION "KConfig Gui"
+ EXPORT KCONFIG
+)
+
+ecm_generate_export_header(KF6ConfigGui
+ BASE_NAME KConfigGui
+ GROUP_BASE_NAME KF
+ VERSION ${KF_VERSION}
+ USE_VERSION_HEADER
+ VERSION_BASE_NAME KConfig
+ DEPRECATED_BASE_VERSION 0
+ DEPRECATION_VERSIONS
+ EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
+)
+
+target_include_directories(KF6ConfigGui
+ INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KConfig;${KDE_INSTALL_INCLUDEDIR_KF}/KConfigGui>")
+
+target_link_libraries(KF6ConfigGui PUBLIC Qt6::Gui KF6::ConfigCore)
+
+ecm_generate_headers(KConfigGui_HEADERS
+ HEADER_NAMES
+ KConfigGui
+ KConfigLoader
+ KConfigSkeleton
+ KStandardShortcut
+ KStandardShortcutWatcher
+ KWindowConfig
+ KWindowStateSaver
+ KStandardActions
+
+ REQUIRED_HEADERS KConfigGui_HEADERS
+)
+
+if(NOT BUILD_SHARED_LIBS)
+ target_sources(KF6ConfigGui PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/kconfigguistaticinitializer.cpp>
+ $<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KConfigGui/kconfigguistaticinitializer.cpp>
+ )
+endif()
+
+install(TARGETS KF6ConfigGui EXPORT KF6ConfigTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
+
+install(FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/kconfiggui_export.h
+ kstandardactions_p.h
+ ${KConfigGui_HEADERS}
+ kconfigguistaticinitializer.cpp
+ DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KConfigGui COMPONENT Devel
+)
+
+# make available to ecm_add_qch in parent folder
+set(KConfigGui_APIDOX_SRCS ${KConfigGui_HEADERS} PARENT_SCOPE)
+set(KConfigGui_APIDOX_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR} PARENT_SCOPE)
+
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2007 Thiago Macieira <thiago@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfiggui_export.h"
+#include <kconfiggroup.h>
+
+#include <QColor>
+#include <QDebug>
+#include <QFont>
+
+#include <kconfiggroup_p.h>
+
+/**
+ * Try to read a GUI type from config group @p cg at key @p key.
+ * @p input is the default value and also indicates the type to be read.
+ * @p output is to be set with the value that has been read.
+ *
+ * @returns true if something was handled (even if output was set to clear or default)
+ * or false if nothing was handled (e.g., Core type)
+ */
+static bool readEntryGui(const QByteArray &data, const char *key, const QVariant &input, QVariant &output)
+{
+ const auto errString = [&]() {
+ return QStringLiteral("\"%1\" - conversion from \"%3\" to %2 failed")
+ .arg(QLatin1String(key), QLatin1String(input.typeName()), QLatin1String(data.constData()));
+ };
+
+ // set in case of failure
+ output = input;
+
+ switch (static_cast<QMetaType::Type>(input.userType())) {
+ case QMetaType::QColor: {
+ if (data.isEmpty() || data == "invalid") {
+ output = QColor(); // return what was stored
+ return true;
+ } else if (data.at(0) == '#') {
+ QColor col = QColor::fromString(QUtf8StringView(data.constData(), data.length()));
+ if (!col.isValid()) {
+ qCritical() << qPrintable(errString());
+ }
+ output = col;
+ return true;
+ } else if (!data.contains(',')) {
+ QColor col = QColor::fromString(QUtf8StringView(data.constData(), data.length()));
+ if (!col.isValid()) {
+ qCritical() << qPrintable(errString());
+ }
+ output = col;
+ return true;
+ } else {
+ const QList<QByteArray> list = data.split(',');
+ const int count = list.count();
+
+ if (count != 3 && count != 4) {
+ qCritical() //
+ << qPrintable(errString()) //
+ << qPrintable(QStringLiteral(" (wrong format: expected '%1' items, read '%2')").arg(QStringLiteral("3' or '4")).arg(count));
+ return true; // return default
+ }
+
+ int temp[4];
+ // bounds check components
+ for (int i = 0; i < count; i++) {
+ bool ok;
+ const int j = temp[i] = list.at(i).toInt(&ok);
+ if (!ok) { // failed to convert to int
+ qCritical() << qPrintable(errString()) << " (integer conversion failed)";
+ return true; // return default
+ }
+ if (j < 0 || j > 255) {
+ static const char *const components[] = {"red", "green", "blue", "alpha"};
+ qCritical() << qPrintable(errString())
+ << qPrintable(QStringLiteral(" (bounds error: %1 component %2)")
+ .arg(QLatin1String(components[i]), //
+ j < 0 ? QStringLiteral("< 0") : QStringLiteral("> 255")));
+ return true; // return default
+ }
+ }
+ QColor aColor(temp[0], temp[1], temp[2]);
+ if (count == 4) {
+ aColor.setAlpha(temp[3]);
+ }
+
+ if (aColor.isValid()) {
+ output = aColor;
+ } else {
+ qCritical() << qPrintable(errString());
+ }
+ return true;
+ }
+ }
+
+ case QMetaType::QFont: {
+ QVariant tmp = QString::fromUtf8(data.constData(), data.length());
+ if (tmp.canConvert<QFont>()) {
+ output = tmp;
+ } else {
+ qCritical() << qPrintable(errString());
+ }
+ return true;
+ }
+ case QMetaType::QPixmap:
+ case QMetaType::QImage:
+ case QMetaType::QBrush:
+ case QMetaType::QPalette:
+ case QMetaType::QIcon:
+ case QMetaType::QRegion:
+ case QMetaType::QBitmap:
+ case QMetaType::QCursor:
+ case QMetaType::QSizePolicy:
+ case QMetaType::QPen:
+ // we may want to handle these in the future
+
+ default:
+ break;
+ }
+
+ return false; // not handled
+}
+
+/**
+ * Try to write a GUI type @p prop to config group @p cg at key @p key.
+ *
+ * @returns true if something was handled (even if an empty value was written)
+ * or false if nothing was handled (e.g., Core type)
+ */
+static bool writeEntryGui(KConfigGroup *cg, const char *key, const QVariant &prop, KConfigGroup::WriteConfigFlags pFlags)
+{
+ switch (static_cast<QMetaType::Type>(prop.userType())) {
+ case QMetaType::QColor: {
+ const QColor rColor = prop.value<QColor>();
+
+ if (!rColor.isValid()) {
+ cg->writeEntry(key, "invalid", pFlags);
+ return true;
+ }
+
+ QList<int> list;
+ list.insert(0, rColor.red());
+ list.insert(1, rColor.green());
+ list.insert(2, rColor.blue());
+ if (rColor.alpha() != 255) {
+ list.insert(3, rColor.alpha());
+ }
+
+ cg->writeEntry(key, list, pFlags);
+ return true;
+ }
+ case QMetaType::QFont: {
+ QFont f = prop.value<QFont>();
+ // If the styleName property is set for a QFont, using setBold(true) would
+ // lead to Qt using an "emboldended"/synthetic font style instead of using
+ // the bold style provided by the font itself; the latter looks much better
+ // than the former. For more details see:
+ // https://bugreports.qt.io/browse/QTBUG-63792
+ // https://bugs.kde.org/show_bug.cgi?id=378523
+ /* clang-format off */
+ if (f.weight() == QFont::Normal
+ && (f.styleName() == QLatin1String("Regular")
+ || f.styleName() == QLatin1String("Normal")
+ || f.styleName() == QLatin1String("Book")
+ || f.styleName() == QLatin1String("Roman"))) { /* clang-format on */
+ f.setStyleName(QString());
+ }
+ cg->writeEntry(key, f.toString().toUtf8(), pFlags);
+ return true;
+ }
+ case QMetaType::QPixmap:
+ case QMetaType::QImage:
+ case QMetaType::QBrush:
+ case QMetaType::QPalette:
+ case QMetaType::QIcon:
+ case QMetaType::QRegion:
+ case QMetaType::QBitmap:
+ case QMetaType::QCursor:
+ case QMetaType::QSizePolicy:
+ case QMetaType::QPen:
+ // we may want to handle one of these in the future
+ break;
+
+ default:
+ break;
+ }
+
+ return false;
+}
+
+// Not static, because for static builds we use it in the kconfigguistaticinitializer.cpp file
+// Exported as we need this to force linking in consumers that read GUI types from KConfig, but
+// which are otherwise not using this library (and thus linking with --as-needed or MSVC would
+// break things)
+KCONFIGGUI_EXPORT int initKConfigGroupGui()
+{
+ _kde_internal_KConfigGroupGui.readEntryGui = readEntryGui;
+ _kde_internal_KConfigGroupGui.writeEntryGui = writeEntryGui;
+ return 42; // because 42 is nicer than 1 or 0
+}
+
+#ifdef Q_CONSTRUCTOR_FUNCTION
+Q_CONSTRUCTOR_FUNCTION(initKConfigGroupGui)
+#else
+static int dummyKConfigGroupGui = initKConfigGroupGui();
+#endif
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 1999 Matthias Ettrich <ettrich@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
+*/
+
+#include "kconfiggui.h"
+#include "kconfig_gui_log_settings.h"
+
+#include <QGuiApplication>
+
+#include <kconfig.h>
+
+static QString configName(const QString &id, const QString &key)
+{
+ return QLatin1String("session/%1_%2_%3").arg(QGuiApplication::applicationName(), id, key);
+}
+
+static KConfig *s_sessionConfig = nullptr;
+
+KConfig *KConfigGui::sessionConfig()
+{
+#ifdef QT_NO_SESSIONMANAGER
+ qCWarning(KCONFIG_GUI_LOG) << "Qt is built without session manager support";
+#else
+ if (!hasSessionConfig() && qApp->isSessionRestored()) {
+ // create the default instance specific config object
+ // from applications' -session command line parameter
+ s_sessionConfig = new KConfig(configName(qApp->sessionId(), qApp->sessionKey()), KConfig::SimpleConfig);
+ }
+#endif
+
+ return s_sessionConfig;
+}
+
+void KConfigGui::setSessionConfig(const QString &id, const QString &key)
+{
+ if (hasSessionConfig()) {
+ delete s_sessionConfig;
+ s_sessionConfig = nullptr;
+ }
+
+ // create a new instance specific config object from supplied id & key
+ s_sessionConfig = new KConfig(configName(id, key), KConfig::SimpleConfig);
+}
+
+bool KConfigGui::hasSessionConfig()
+{
+ return s_sessionConfig != nullptr;
+}
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 1999 Matthias Ettrich <ettrich@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
+*/
+
+#ifndef KCONFIGGUI_H
+#define KCONFIGGUI_H
+
+#include <kconfiggui_export.h>
+
+#include <QString>
+
+class KConfig;
+
+/**
+ * Interface-related functions.
+ */
+namespace KConfigGui
+{
+/**
+ * Returns the current application session config object.
+ *
+ * @note If Qt is built without session manager support, i.e.
+ * QT_NO_SESSIONMANAGER is defined, this by default will return
+ * nullptr, unless a custom config has been set via
+ * @c setSessionConfig.
+ *
+ * @return A pointer to the application's instance specific
+ * KConfig object.
+ * @see KConfig
+ */
+KCONFIGGUI_EXPORT KConfig *sessionConfig();
+
+/**
+ * Replaces the current application session config object.
+ *
+ * @param id new session id
+ * @param key new session key
+ *
+ * @since 5.11
+ */
+KCONFIGGUI_EXPORT void setSessionConfig(const QString &id, const QString &key);
+
+/**
+ * Indicates if a session config has been created for that application
+ * (i.e.\ if sessionConfig() got called at least once)
+ *
+ * @return @c true if a sessionConfig object was created, @c false otherwise
+ */
+KCONFIGGUI_EXPORT bool hasSessionConfig();
+}
+
+#endif // KCONFIGGUI_H
--- /dev/null
+// SPDX-FileCopyrightText: 2022 Alexander Lohnau <alexander.lohnau@gmx.de>
+// SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
+
+extern int initKConfigGroupGui();
+
+static int myInit = initKConfigGroupGui();
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2007 Aaron Seigo <aseigo@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfigloader.h"
+#include "kconfigloader_p.h"
+#include "kconfigloaderhandler_p.h"
+
+#include <QColor>
+#include <QFont>
+#include <QHash>
+#include <QUrl>
+
+#include <QDebug>
+
+void ConfigLoaderPrivate::parse(KConfigLoader *loader, QIODevice *xml)
+{
+ clearData();
+ loader->clearItems();
+
+ if (xml) {
+ ConfigLoaderHandler handler(loader, this);
+ handler.parse(xml);
+ }
+}
+
+ConfigLoaderHandler::ConfigLoaderHandler(KConfigLoader *config, ConfigLoaderPrivate *d)
+ : m_config(config)
+ , d(d)
+{
+ resetState();
+}
+
+bool ConfigLoaderHandler::parse(QIODevice *input)
+{
+ if (!input->open(QIODevice::ReadOnly)) {
+ qWarning() << "Impossible to open device";
+ return false;
+ }
+ QXmlStreamReader reader(input);
+
+ while (!reader.atEnd()) {
+ reader.readNext();
+ if (reader.hasError()) {
+ return false;
+ }
+
+ switch (reader.tokenType()) {
+ case QXmlStreamReader::StartElement:
+ startElement(reader.name(), reader.attributes());
+ break;
+ case QXmlStreamReader::EndElement:
+ endElement(reader.name());
+ break;
+ case QXmlStreamReader::Characters:
+ if (!reader.isWhitespace() && !reader.text().trimmed().isEmpty()) {
+ m_cdata.append(reader.text());
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
+ if (!reader.isEndDocument()) {
+ return false;
+ }
+
+ return true;
+}
+
+static bool caseInsensitiveCompare(const QStringView a, const QLatin1String b)
+{
+ return a.compare(b, Qt::CaseInsensitive) == 0;
+}
+
+void ConfigLoaderHandler::startElement(const QStringView localName, const QXmlStreamAttributes &attrs)
+{
+ // qDebug() << "ConfigLoaderHandler::startElement(" << localName << qName;
+ if (caseInsensitiveCompare(localName, QLatin1String("group"))) {
+ QString group;
+ for (const auto &attr : attrs) {
+ const auto attrName = attr.name();
+ if (caseInsensitiveCompare(attrName, QLatin1String("name"))) {
+ // qDebug() << "set group to" << attrs.value(i);
+ group = attr.value().toString();
+ }
+ }
+ if (group.isEmpty()) {
+ group = d->baseGroup;
+ } else {
+ d->groups.append(group);
+ if (!d->baseGroup.isEmpty()) {
+ group = d->baseGroup + QLatin1Char('\x1d') + group;
+ }
+ }
+
+ if (m_config) {
+ m_config->setCurrentGroup(group);
+ }
+ } else if (caseInsensitiveCompare(localName, QLatin1String("entry"))) {
+ for (const auto &attr : attrs) {
+ const auto attrName = attr.name();
+ if (caseInsensitiveCompare(attrName, QLatin1String("name"))) {
+ m_name = attr.value().trimmed().toString();
+ } else if (caseInsensitiveCompare(attrName, QLatin1String("type"))) {
+ m_type = attr.value().toString().toLower();
+ } else if (caseInsensitiveCompare(attrName, QLatin1String("key"))) {
+ m_key = attr.value().trimmed().toString();
+ }
+ }
+ } else if (caseInsensitiveCompare(localName, QLatin1String("choice"))) {
+ m_choice.name.clear();
+ m_choice.label.clear();
+ m_choice.whatsThis.clear();
+ for (const auto &attr : attrs) {
+ const auto attrName = attr.name();
+ if (caseInsensitiveCompare(attrName, QLatin1String("name"))) {
+ m_choice.name = attr.value().toString();
+ }
+ }
+ m_inChoice = true;
+ }
+}
+
+void ConfigLoaderHandler::endElement(const QStringView localName)
+{
+ // qDebug() << "ConfigLoaderHandler::endElement(" << localName << qName;
+ if (caseInsensitiveCompare(localName, QLatin1String("entry"))) {
+ addItem();
+ resetState();
+ } else if (caseInsensitiveCompare(localName, QLatin1String("label"))) {
+ if (m_inChoice) {
+ m_choice.label = std::move(m_cdata).trimmed();
+ } else {
+ m_label = std::move(m_cdata).trimmed();
+ }
+ } else if (caseInsensitiveCompare(localName, QLatin1String("whatsthis"))) {
+ if (m_inChoice) {
+ m_choice.whatsThis = std::move(m_cdata).trimmed();
+ } else {
+ m_whatsThis = std::move(m_cdata).trimmed();
+ }
+ } else if (caseInsensitiveCompare(localName, QLatin1String("default"))) {
+ m_default = std::move(m_cdata).trimmed();
+ } else if (caseInsensitiveCompare(localName, QLatin1String("min"))) {
+ m_min = m_cdata.toInt(&m_haveMin);
+ } else if (caseInsensitiveCompare(localName, QLatin1String("max"))) {
+ m_max = m_cdata.toInt(&m_haveMax);
+ } else if (caseInsensitiveCompare(localName, QLatin1String("choice"))) {
+ m_enumChoices.append(m_choice);
+ m_inChoice = false;
+ }
+
+ m_cdata.clear();
+}
+
+void ConfigLoaderHandler::addItem()
+{
+ if (m_name.isEmpty()) {
+ if (m_key.isEmpty()) {
+ return;
+ }
+
+ m_name = m_key;
+ }
+
+ m_name.remove(QLatin1Char(' '));
+
+ KConfigSkeletonItem *item = nullptr;
+
+ if (m_type == QLatin1String("bool")) {
+ const bool defaultValue = caseInsensitiveCompare(m_default, QLatin1String("true"));
+ item = m_config->addItemBool(m_name, *d->newBool(), defaultValue, m_key);
+ } else if (m_type == QLatin1String("color")) {
+ item = m_config->addItemColor(m_name, *d->newColor(), QColor(m_default), m_key);
+ } else if (m_type == QLatin1String("datetime")) {
+ item = m_config->addItemDateTime(m_name, *d->newDateTime(), QDateTime::fromString(m_default), m_key);
+ } else if (m_type == QLatin1String("enum")) {
+ m_key = (m_key.isEmpty()) ? m_name : m_key;
+
+ bool ok = false;
+ int defaultValue = m_default.toInt(&ok);
+ if (!ok) {
+ for (int i = 0; i < m_enumChoices.size(); i++) {
+ if (m_default == m_enumChoices[i].name) {
+ defaultValue = i;
+ break;
+ }
+ }
+ }
+
+ KConfigSkeleton::ItemEnum *enumItem = new KConfigSkeleton::ItemEnum(m_config->currentGroup(), m_key, *d->newInt(), m_enumChoices, defaultValue);
+ m_config->addItem(enumItem, m_name);
+ item = enumItem;
+ } else if (m_type == QLatin1String("font")) {
+ item = m_config->addItemFont(m_name, *d->newFont(), QFont(m_default), m_key);
+ } else if (m_type == QLatin1String("int")) {
+ KConfigSkeleton::ItemInt *intItem = m_config->addItemInt(m_name, *d->newInt(), m_default.toInt(), m_key);
+
+ if (m_haveMin) {
+ intItem->setMinValue(m_min);
+ }
+
+ if (m_haveMax) {
+ intItem->setMaxValue(m_max);
+ }
+
+ item = intItem;
+ } else if (m_type == QLatin1String("password")) {
+ item = m_config->addItemPassword(m_name, *d->newString(), m_default, m_key);
+ } else if (m_type == QLatin1String("path")) {
+ item = m_config->addItemPath(m_name, *d->newString(), m_default, m_key);
+ } else if (m_type == QLatin1String("string")) {
+ item = m_config->addItemString(m_name, *d->newString(), m_default, m_key);
+ } else if (m_type == QLatin1String("stringlist")) {
+ // FIXME: the split() is naive and will break on lists with ,'s in them
+ // empty parts are not wanted in this case
+ item = m_config->addItemStringList(m_name, *d->newStringList(), m_default.split(QLatin1Char(','), Qt::SkipEmptyParts), m_key);
+ } else if (m_type == QLatin1String("uint")) {
+ KConfigSkeleton::ItemUInt *uintItem = m_config->addItemUInt(m_name, *d->newUint(), m_default.toUInt(), m_key);
+ if (m_haveMin) {
+ uintItem->setMinValue(m_min);
+ }
+ if (m_haveMax) {
+ uintItem->setMaxValue(m_max);
+ }
+ item = uintItem;
+ } else if (m_type == QLatin1String("url")) {
+ m_key = (m_key.isEmpty()) ? m_name : m_key;
+ KConfigSkeleton::ItemUrl *urlItem = new KConfigSkeleton::ItemUrl(m_config->currentGroup(), m_key, *d->newUrl(), QUrl::fromUserInput(m_default));
+ m_config->addItem(urlItem, m_name);
+ item = urlItem;
+ } else if (m_type == QLatin1String("double")) {
+ KConfigSkeleton::ItemDouble *doubleItem = m_config->addItemDouble(m_name, *d->newDouble(), m_default.toDouble(), m_key);
+ if (m_haveMin) {
+ doubleItem->setMinValue(m_min);
+ }
+ if (m_haveMax) {
+ doubleItem->setMaxValue(m_max);
+ }
+ item = doubleItem;
+ } else if (m_type == QLatin1String("intlist")) {
+ QList<int> defaultList;
+ const QList<QStringView> tmpList = QStringView(m_default).split(QLatin1Char(','), Qt::SkipEmptyParts);
+ for (const QStringView tmp : tmpList) {
+ defaultList.append(tmp.toInt());
+ }
+ item = m_config->addItemIntList(m_name, *d->newIntList(), defaultList, m_key);
+ } else if (m_type == QLatin1String("longlong")) {
+ KConfigSkeleton::ItemLongLong *longlongItem = m_config->addItemLongLong(m_name, *d->newLongLong(), m_default.toLongLong(), m_key);
+ if (m_haveMin) {
+ longlongItem->setMinValue(m_min);
+ }
+ if (m_haveMax) {
+ longlongItem->setMaxValue(m_max);
+ }
+ item = longlongItem;
+ /* No addItemPathList in KConfigSkeleton ?
+ } else if (m_type == "PathList") {
+ //FIXME: the split() is naive and will break on lists with ,'s in them
+ item = m_config->addItemPathList(m_name, *d->newStringList(), m_default.split(","), m_key);
+ */
+ } else if (m_type == QLatin1String("point")) {
+ QPoint defaultPoint;
+ const QList<QStringView> tmpList = QStringView(m_default).split(QLatin1Char(','));
+ if (tmpList.size() >= 2) {
+ defaultPoint.setX(tmpList[0].toInt());
+ defaultPoint.setY(tmpList[1].toInt());
+ }
+ item = m_config->addItemPoint(m_name, *d->newPoint(), defaultPoint, m_key);
+ } else if (m_type == QLatin1String("pointf")) {
+ QPointF defaultPointF;
+ const auto tmpList = QStringView(m_default).split(u',');
+ if (tmpList.size() >= 2) {
+ defaultPointF.setX(tmpList[0].toDouble());
+ defaultPointF.setY(tmpList[1].toDouble());
+ }
+ item = m_config->addItemPointF(m_name, *d->newPointF(), defaultPointF, m_key);
+ } else if (m_type == QLatin1String("rect")) {
+ QRect defaultRect;
+ const QList<QStringView> tmpList = QStringView(m_default).split(QLatin1Char(','));
+ if (tmpList.size() >= 4) {
+ defaultRect.setCoords(tmpList[0].toInt(), tmpList[1].toInt(), tmpList[2].toInt(), tmpList[3].toInt());
+ }
+ item = m_config->addItemRect(m_name, *d->newRect(), defaultRect, m_key);
+ } else if (m_type == QLatin1String("rectf")) {
+ QRectF defaultRectF;
+ const auto tmpList = QStringView(m_default).split(u',');
+ if (tmpList.size() >= 4) {
+ defaultRectF.setCoords(tmpList[0].toDouble(), tmpList[1].toDouble(), tmpList[2].toDouble(), tmpList[3].toDouble());
+ }
+ item = m_config->addItemRectF(m_name, *d->newRectF(), defaultRectF, m_key);
+ } else if (m_type == QLatin1String("size")) {
+ QSize defaultSize;
+ const QList<QStringView> tmpList = QStringView(m_default).split(QLatin1Char(','));
+ if (tmpList.size() >= 2) {
+ defaultSize.setWidth(tmpList[0].toInt());
+ defaultSize.setHeight(tmpList[1].toInt());
+ }
+ item = m_config->addItemSize(m_name, *d->newSize(), defaultSize, m_key);
+ } else if (m_type == QLatin1String("sizef")) {
+ QSizeF defaultSizeF;
+ const auto tmpList = QStringView(m_default).split(u',');
+ if (tmpList.size() >= 2) {
+ defaultSizeF.setWidth(tmpList[0].toDouble());
+ defaultSizeF.setHeight(tmpList[1].toDouble());
+ }
+ item = m_config->addItemSizeF(m_name, *d->newSizeF(), defaultSizeF, m_key);
+ } else if (m_type == QLatin1String("ulonglong")) {
+ KConfigSkeleton::ItemULongLong *ulonglongItem = m_config->addItemULongLong(m_name, *d->newULongLong(), m_default.toULongLong(), m_key);
+ if (m_haveMin) {
+ ulonglongItem->setMinValue(m_min);
+ }
+ if (m_haveMax) {
+ ulonglongItem->setMaxValue(m_max);
+ }
+ item = ulonglongItem;
+ /* No addItemUrlList in KConfigSkeleton ?
+ } else if (m_type == "urllist") {
+ //FIXME: the split() is naive and will break on lists with ,'s in them
+ QStringList tmpList = m_default.split(",");
+ QList<QUrl> defaultList;
+ foreach (const QString& tmp, tmpList) {
+ defaultList.append(QUrl(tmp));
+ }
+ item = m_config->addItemUrlList(m_name, *d->newUrlList(), defaultList, m_key);*/
+ }
+
+ if (item) {
+ item->setLabel(m_label);
+ item->setWhatsThis(m_whatsThis);
+ d->keysToNames.insert(item->group() + item->key(), item->name());
+ }
+}
+
+void ConfigLoaderHandler::resetState()
+{
+ m_haveMin = false;
+ m_min = 0;
+ m_haveMax = false;
+ m_max = 0;
+ m_name.clear();
+ m_type.clear();
+ m_label.clear();
+ m_default.clear();
+ m_key.clear();
+ m_whatsThis.clear();
+ m_enumChoices.clear();
+ m_inChoice = false;
+}
+
+KConfigLoader::KConfigLoader(const QString &configFile, QIODevice *xml, QObject *parent)
+ : KConfigSkeleton(configFile, parent)
+ , d(new ConfigLoaderPrivate)
+{
+ d->parse(this, xml);
+}
+
+KConfigLoader::KConfigLoader(KSharedConfigPtr config, QIODevice *xml, QObject *parent)
+ : KConfigSkeleton(std::move(config), parent)
+ , d(new ConfigLoaderPrivate)
+{
+ d->parse(this, xml);
+}
+
+// FIXME: obviously this is broken and should be using the group as the root,
+// but KConfigSkeleton does not currently support this. it will eventually though,
+// at which point this can be addressed properly
+KConfigLoader::KConfigLoader(const KConfigGroup &config, QIODevice *xml, QObject *parent)
+ : KConfigSkeleton(KSharedConfig::openConfig(config.config()->name(), config.config()->openFlags(), config.config()->locationType()), parent)
+ , d(new ConfigLoaderPrivate)
+{
+ KConfigGroup group = config.parent();
+ d->baseGroup = config.name();
+ while (group.isValid() && group.name() != QLatin1String("<default>")) {
+ d->baseGroup = group.name() + QLatin1Char('\x1d') + d->baseGroup;
+ group = group.parent();
+ }
+ d->parse(this, xml);
+}
+
+KConfigLoader::~KConfigLoader()
+{
+ delete d;
+}
+
+KConfigSkeletonItem *KConfigLoader::findItem(const QString &group, const QString &key) const
+{
+ return KConfigSkeleton::findItem(d->keysToNames[group + key]);
+}
+
+KConfigSkeletonItem *KConfigLoader::findItemByName(const QString &name) const
+{
+ return KConfigSkeleton::findItem(name);
+}
+
+QVariant KConfigLoader::property(const QString &name) const
+{
+ KConfigSkeletonItem *item = KConfigSkeleton::findItem(name);
+
+ if (item) {
+ return item->property();
+ }
+
+ return QVariant();
+}
+
+bool KConfigLoader::hasGroup(const QString &group) const
+{
+ return d->groups.contains(group);
+}
+
+QStringList KConfigLoader::groupList() const
+{
+ return d->groups;
+}
+
+bool KConfigLoader::usrSave()
+{
+ if (d->saveDefaults) {
+ const auto listItems = items();
+ for (const auto &item : listItems) {
+ config()->group(item->group()).writeEntry(item->key(), "");
+ }
+ }
+ return true;
+}
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2007 Aaron Seigo <aseigo@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGLOADER_H
+#define KCONFIGLOADER_H
+
+#include <QIODevice>
+
+#include <kconfiggroup.h>
+#include <kconfigskeleton.h>
+#include <ksharedconfig.h>
+
+#include <kconfiggui_export.h>
+
+class ConfigLoaderPrivate;
+
+/**
+ * @class KConfigLoader kconfigloader.h <KConfigLoader>
+ *
+ * @short A KConfigSkeleton that populates itself based on KConfigXT XML
+ *
+ * This class allows one to ship an XML file and reconstitute it into a
+ * KConfigSkeleton object at runtime. Common usage might look like this:
+ *
+ * \code
+ * QFile file(xmlFilePath);
+ * KConfigLoader appletConfig(configFilePath, &file);
+ * \endcode
+ *
+ * Alternatively, any QIODevice may be used in place of QFile in the
+ * example above.
+ *
+ * KConfigLoader is useful if it is not possible to use compiled code
+ * and by that the kconfig compiler cannot be used. Common examples are
+ * scripted plugins which want to provide a configuration interface.
+ * With the help of KConfigLoader a dynamically loaded ui file can be
+ * populated with the stored values and also stored back to the config
+ * file.
+ *
+ * An example for populating a QDialog with a dynamically populated UI
+ * with the help of a KConfigDialogManager:
+ * \code
+ * QDialog *dialog = new QDialog();
+ * QFile xmlFile("path/to/kconfigxt.xml");
+ * KConfigGroup cg = KSharedConfig::openConfig()->group(QString());
+ * KConfigLoader *configLoader = new KConfigLoader(cg, &xmlFile, this);
+ *
+ * // load the ui file
+ * QUiLoader *loader = new QUiLoader(this);
+ * QFile uiFile("path/to/userinterface.ui");
+ * uiFile.open(QFile::ReadOnly);
+ * QWidget *customConfigForm = loader->load(&uiFile, dialog);
+ * uiFile.close();
+ *
+ * KConfigDialogManager *manager = new KConfigDialogManager(customConfigForm, configLoader);
+ * if (dialog->exec() == QDialog::Accepted) {
+ * manager->updateSettings();
+ * }
+ * \endcode
+ *
+ * Currently the following data types are supported:
+ *
+ * @li bools
+ * @li colors
+ * @li datetimes
+ * @li enumerations
+ * @li fonts
+ * @li ints
+ * @li passwords
+ * @li paths
+ * @li strings
+ * @li stringlists
+ * @li uints
+ * @li urls
+ * @li doubles
+ * @li int lists
+ * @li longlongs
+ * @li path lists
+ * @li points
+ * @li pointfs
+ * @li rects
+ * @li rectfs
+ * @li sizes
+ * @li sizefs
+ * @li ulonglongs
+ * @li url lists
+ **/
+class KCONFIGGUI_EXPORT KConfigLoader : public KConfigSkeleton
+{
+public:
+ /**
+ * Creates a KConfigSkeleton populated using the definition found in
+ * the XML data passed in.
+ *
+ * @param configFile path to the configuration file to use
+ * @param xml the xml data; must be valid KConfigXT data
+ * @param parent optional QObject parent
+ **/
+ KConfigLoader(const QString &configFile, QIODevice *xml, QObject *parent = nullptr);
+
+ /**
+ * Creates a KConfigSkeleton populated using the definition found in
+ * the XML data passed in.
+ *
+ * @param config the configuration object to use
+ * @param xml the xml data; must be valid KConfigXT data
+ * @param parent optional QObject parent
+ **/
+ KConfigLoader(KSharedConfigPtr config, QIODevice *xml, QObject *parent = nullptr);
+
+ /**
+ * Creates a KConfigSkeleton populated using the definition found in
+ * the XML data passed in.
+ *
+ * @param config the group to use as the root for configuration items
+ * @param xml the xml data; must be valid KConfigXT data
+ * @param parent optional QObject parent
+ **/
+ KConfigLoader(const KConfigGroup &config, QIODevice *xml, QObject *parent = nullptr);
+
+ ~KConfigLoader() override;
+
+ /**
+ * Finds the item for the given group and key.
+ *
+ * @param group the group in the config file to look in
+ * @param key the configuration key to find
+ * @return the associated KConfigSkeletonItem, or @c nullptr if none
+ */
+ KConfigSkeletonItem *findItem(const QString &group, const QString &key) const;
+
+ /**
+ * Finds an item by its name
+ */
+ KConfigSkeletonItem *findItemByName(const QString &name) const;
+
+ /**
+ * Returns the property (variantized value) of the named item
+ */
+ QVariant property(const QString &name) const;
+
+ /**
+ * Check to see if a group exists
+ *
+ * @param group the name of the group to check for
+ * @return true if the group exists, or false if it does not
+ */
+ bool hasGroup(const QString &group) const;
+
+ /**
+ * @return the list of groups defined by the XML
+ */
+ QStringList groupList() const;
+
+protected:
+ bool usrSave() override;
+
+private:
+ ConfigLoaderPrivate *const d;
+};
+
+#endif // multiple inclusion guard
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2007-2008 Aaron Seigo <aseigo@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGLOADER_P_H
+#define KCONFIGLOADER_P_H
+
+#include <QUrl>
+
+class ConfigLoaderPrivate
+{
+public:
+ ConfigLoaderPrivate()
+ : saveDefaults(false)
+ {
+ }
+
+ ~ConfigLoaderPrivate()
+ {
+ clearData();
+ }
+
+ void clearData()
+ {
+ qDeleteAll(bools);
+ qDeleteAll(strings);
+ qDeleteAll(stringlists);
+ qDeleteAll(colors);
+ qDeleteAll(fonts);
+ qDeleteAll(ints);
+ qDeleteAll(uints);
+ qDeleteAll(urls);
+ qDeleteAll(dateTimes);
+ qDeleteAll(doubles);
+ qDeleteAll(intlists);
+ qDeleteAll(longlongs);
+ qDeleteAll(points);
+ qDeleteAll(pointfs);
+ qDeleteAll(rects);
+ qDeleteAll(rectfs);
+ qDeleteAll(sizes);
+ qDeleteAll(sizefs);
+ qDeleteAll(ulonglongs);
+ qDeleteAll(urllists);
+ }
+
+ bool *newBool()
+ {
+ bool *v = new bool;
+ bools.append(v);
+ return v;
+ }
+
+ QString *newString()
+ {
+ QString *v = new QString;
+ strings.append(v);
+ return v;
+ }
+
+ QStringList *newStringList()
+ {
+ QStringList *v = new QStringList;
+ stringlists.append(v);
+ return v;
+ }
+
+ QColor *newColor()
+ {
+ QColor *v = new QColor;
+ colors.append(v);
+ return v;
+ }
+
+ QFont *newFont()
+ {
+ QFont *v = new QFont;
+ fonts.append(v);
+ return v;
+ }
+
+ qint32 *newInt()
+ {
+ qint32 *v = new qint32;
+ ints.append(v);
+ return v;
+ }
+
+ quint32 *newUint()
+ {
+ quint32 *v = new quint32;
+ uints.append(v);
+ return v;
+ }
+
+ QUrl *newUrl()
+ {
+ QUrl *v = new QUrl;
+ urls.append(v);
+ return v;
+ }
+
+ QDateTime *newDateTime()
+ {
+ QDateTime *v = new QDateTime;
+ dateTimes.append(v);
+ return v;
+ }
+
+ double *newDouble()
+ {
+ double *v = new double;
+ doubles.append(v);
+ return v;
+ }
+
+ QList<qint32> *newIntList()
+ {
+ QList<qint32> *v = new QList<qint32>;
+ intlists.append(v);
+ return v;
+ }
+
+ qint64 *newLongLong()
+ {
+ qint64 *v = new qint64;
+ longlongs.append(v);
+ return v;
+ }
+
+ QPoint *newPoint()
+ {
+ QPoint *v = new QPoint;
+ points.append(v);
+ return v;
+ }
+
+ QPointF *newPointF()
+ {
+ QPointF *v = new QPointF;
+ pointfs.append(v);
+ return v;
+ }
+
+ QRect *newRect()
+ {
+ QRect *v = new QRect;
+ rects.append(v);
+ return v;
+ }
+
+ QRectF *newRectF()
+ {
+ QRectF *v = new QRectF;
+ rectfs.append(v);
+ return v;
+ }
+
+ QSize *newSize()
+ {
+ QSize *v = new QSize;
+ sizes.append(v);
+ return v;
+ }
+
+ QSizeF *newSizeF()
+ {
+ QSizeF *v = new QSizeF;
+ sizefs.append(v);
+ return v;
+ }
+
+ quint64 *newULongLong()
+ {
+ quint64 *v = new quint64;
+ ulonglongs.append(v);
+ return v;
+ }
+
+ QList<QUrl> *newUrlList()
+ {
+ QList<QUrl> *v = new QList<QUrl>();
+ urllists.append(v);
+ return v;
+ }
+
+ void parse(KConfigLoader *loader, QIODevice *xml);
+
+ /**
+ * Whether or not to write out default values.
+ *
+ * @param writeDefaults true if defaults should be written out
+ */
+ void setWriteDefaults(bool writeDefaults)
+ {
+ saveDefaults = writeDefaults;
+ }
+
+ /**
+ * @return true if default values will also be written out
+ */
+ bool writeDefaults() const
+ {
+ return saveDefaults;
+ }
+
+ QList<bool *> bools;
+ QList<QString *> strings;
+ QList<QStringList *> stringlists;
+ QList<QColor *> colors;
+ QList<QFont *> fonts;
+ QList<qint32 *> ints;
+ QList<quint32 *> uints;
+ QList<QUrl *> urls;
+ QList<QDateTime *> dateTimes;
+ QList<double *> doubles;
+ QList<QList<qint32> *> intlists;
+ QList<qint64 *> longlongs;
+ QList<QPoint *> points;
+ QList<QPointF *> pointfs;
+ QList<QRect *> rects;
+ QList<QRectF *> rectfs;
+ QList<QSize *> sizes;
+ QList<QSizeF *> sizefs;
+ QList<quint64 *> ulonglongs;
+ QList<QList<QUrl> *> urllists;
+ QString baseGroup;
+ QStringList groups;
+ QHash<QString, QString> keysToNames;
+ bool saveDefaults;
+};
+
+#endif
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2007-2008 Aaron Seigo <aseigo@kde.org>
+ SPDX-FileCopyrightText: 2013 Marco Martin <mart@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGLOADERHANDLER_P_H
+#define KCONFIGLOADERHANDLER_P_H
+
+#include <QXmlStreamAttributes>
+
+class ConfigLoaderHandler
+{
+public:
+ ConfigLoaderHandler(KConfigLoader *config, ConfigLoaderPrivate *d);
+
+ bool parse(QIODevice *input);
+
+ void startElement(const QStringView localName, const QXmlStreamAttributes &attrs);
+ void endElement(const QStringView localName);
+
+private:
+ void addItem();
+ void resetState();
+
+ KConfigLoader *m_config;
+ ConfigLoaderPrivate *d;
+ int m_min;
+ int m_max;
+ QString m_name;
+ QString m_key;
+ QString m_type;
+ QString m_label;
+ QString m_default;
+ QString m_cdata;
+ QString m_whatsThis;
+ KConfigSkeleton::ItemEnum::Choice m_choice;
+ QList<KConfigSkeleton::ItemEnum::Choice> m_enumChoices;
+ bool m_haveMin;
+ bool m_haveMax;
+ bool m_inChoice;
+};
+
+#endif
--- /dev/null
+/*
+ This file is part of KOrganizer.
+ SPDX-FileCopyrightText: 2000, 2001 Cornelius Schumacher <schumacher@kde.org>
+ SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfigskeleton.h"
+
+#include <kcoreconfigskeleton_p.h>
+
+KConfigSkeleton::KConfigSkeleton(const QString &configname, QObject *parent)
+ : KCoreConfigSkeleton(configname, parent)
+{
+}
+
+KConfigSkeleton::KConfigSkeleton(KSharedConfig::Ptr pConfig, QObject *parent)
+ : KCoreConfigSkeleton(std::move(pConfig), parent)
+{
+}
+
+KConfigSkeleton::ItemColor::ItemColor(const QString &_group, const QString &_key, QColor &reference, const QColor &defaultValue)
+ : KConfigSkeletonGenericItem<QColor>(_group, _key, reference, defaultValue)
+{
+}
+
+void KConfigSkeleton::ItemColor::readConfig(KConfig *config)
+{
+ KConfigGroup cg = configGroup(config);
+
+ mReference = cg.readEntry(mKey, mDefault);
+ mLoadedValue = mReference;
+
+ readImmutability(cg);
+}
+
+void KConfigSkeleton::ItemColor::setProperty(const QVariant &p)
+{
+ mReference = qvariant_cast<QColor>(p);
+}
+
+bool KConfigSkeleton::ItemColor::isEqual(const QVariant &v) const
+{
+ return mReference == qvariant_cast<QColor>(v);
+}
+
+QVariant KConfigSkeleton::ItemColor::property() const
+{
+ return QVariant(mReference);
+}
+
+KConfigSkeleton::ItemFont::ItemFont(const QString &_group, const QString &_key, QFont &reference, const QFont &defaultValue)
+ : KConfigSkeletonGenericItem<QFont>(_group, _key, reference, defaultValue)
+{
+}
+
+void KConfigSkeleton::ItemFont::readConfig(KConfig *config)
+{
+ KConfigGroup cg = configGroup(config);
+
+ mReference = cg.readEntry(mKey, mDefault);
+ mLoadedValue = mReference;
+
+ readImmutability(cg);
+}
+
+void KConfigSkeleton::ItemFont::setProperty(const QVariant &p)
+{
+ mReference = qvariant_cast<QFont>(p);
+}
+
+bool KConfigSkeleton::ItemFont::isEqual(const QVariant &v) const
+{
+ return mReference == qvariant_cast<QFont>(v);
+}
+
+QVariant KConfigSkeleton::ItemFont::property() const
+{
+ return QVariant(mReference);
+}
+
+KConfigSkeleton::ItemColor *KConfigSkeleton::addItemColor(const QString &name, QColor &reference, const QColor &defaultValue, const QString &key)
+{
+ KConfigSkeleton::ItemColor *item;
+ item = new KConfigSkeleton::ItemColor(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+ addItem(item, name);
+ return item;
+}
+
+KConfigSkeleton::ItemFont *KConfigSkeleton::addItemFont(const QString &name, QFont &reference, const QFont &defaultValue, const QString &key)
+{
+ KConfigSkeleton::ItemFont *item;
+ item = new KConfigSkeleton::ItemFont(d->mCurrentGroup, key.isNull() ? name : key, reference, defaultValue);
+ addItem(item, name);
+ return item;
+}
+
+#include "moc_kconfigskeleton.cpp"
--- /dev/null
+/*
+ This file is part of KDE.
+ SPDX-FileCopyrightText: 2001, 2002, 2003 Cornelius Schumacher <schumacher@kde.org>
+ SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGSKELETON_H
+#define KCONFIGSKELETON_H
+
+#include <kconfiggui_export.h>
+
+#include <kcoreconfigskeleton.h>
+
+#include <QColor>
+#include <QFont>
+
+/**
+ * @class KConfigSkeleton kconfigskeleton.h <KConfigSkeleton>
+ *
+ * @short Class for handling preferences settings for an application.
+ * @author Cornelius Schumacher
+ *
+ * This class extends KCoreConfigSkeleton by support for GUI types.
+ */
+class KCONFIGGUI_EXPORT KConfigSkeleton : public KCoreConfigSkeleton
+{
+ Q_OBJECT
+public:
+ /**
+ * Class for handling a color preferences item.
+ */
+ class KCONFIGGUI_EXPORT ItemColor : public KConfigSkeletonGenericItem<QColor>
+ {
+ public:
+ /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+ ItemColor(const QString &_group, const QString &_key, QColor &reference, const QColor &defaultValue = QColor(128, 128, 128));
+
+ /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+ void readConfig(KConfig *config) override;
+
+ /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+ void setProperty(const QVariant &p) override;
+
+ /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) */
+ bool isEqual(const QVariant &p) const override;
+
+ /** @copydoc KConfigSkeletonItem::property() */
+ QVariant property() const override;
+ };
+
+ /**
+ * Class for handling a font preferences item.
+ */
+ class KCONFIGGUI_EXPORT ItemFont : public KConfigSkeletonGenericItem<QFont>
+ {
+ public:
+ /** @copydoc KConfigSkeletonGenericItem::KConfigSkeletonGenericItem */
+ ItemFont(const QString &_group, const QString &_key, QFont &reference, const QFont &defaultValue = QFont());
+
+ /** @copydoc KConfigSkeletonItem::readConfig(KConfig*) */
+ void readConfig(KConfig *config) override;
+
+ /** @copydoc KConfigSkeletonItem::setProperty(const QVariant&) */
+ void setProperty(const QVariant &p) override;
+
+ /** @copydoc KConfigSkeletonItem::isEqual(const QVariant &) */
+ bool isEqual(const QVariant &p) const override;
+
+ /** @copydoc KConfigSkeletonItem::property() */
+ QVariant property() const override;
+ };
+
+public:
+ /**
+ * Constructor.
+ *
+ * @param configname name of config file. If no name is given, the default
+ * config file as returned by KSharedConfig::openConfig() is used.
+ */
+ explicit KConfigSkeleton(const QString &configname = QString(), QObject *parent = nullptr);
+
+ /**
+ * Constructor.
+ *
+ * @param config configuration object to use.
+ */
+ explicit KConfigSkeleton(KSharedConfig::Ptr config, QObject *parent = nullptr);
+
+ /**
+ * Register an item of type QColor.
+ *
+ * @param name Name used to identify this setting. Names must be unique.
+ * @param reference Pointer to the variable, which is set by read()
+ * calls and read by save() calls.
+ * @param defaultValue Default value, which is used when the config file
+ * does not yet contain the key of this item.
+ * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+ * @return The created item
+ */
+ ItemColor *addItemColor(const QString &name, QColor &reference, const QColor &defaultValue = QColor(128, 128, 128), const QString &key = QString());
+
+ /**
+ * Register an item of type QFont.
+ *
+ * @param name Name used to identify this setting. Names must be unique.
+ * @param reference Pointer to the variable, which is set by read()
+ * calls and read by save() calls.
+ * @param defaultValue Default value, which is used when the config file
+ * does not yet contain the key of this item.
+ * @param key Key used in config file. If @p key is a null string, @p name is used as key.
+ * @return The created item
+ */
+ ItemFont *addItemFont(const QString &name, QFont &reference, const QFont &defaultValue = QFont(), const QString &key = QString());
+};
+
+#endif
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 1999, 2000 Kurt Granroth <granroth@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-only
+*/
+
+#include "kstandardactions.h"
+#include "kstandardactions_p.h"
+#include "moc_kstandardactions_p.cpp"
+
+#include <KStandardShortcutWatcher>
+#include <QGuiApplication>
+
+namespace KStandardActions
+{
+
+QList<StandardAction> actionIds()
+{
+ QList<StandardAction> result;
+
+ for (uint i = 0; g_rgActionInfo[i].id != ActionNone; i++) {
+ result.append(g_rgActionInfo[i].id);
+ }
+
+ return result;
+}
+
+KStandardShortcut::StandardShortcut shortcutForActionId(StandardAction id)
+{
+ const KStandardActionsInfo *pInfo = infoPtr(id);
+ return (pInfo) ? pInfo->idAccel : KStandardShortcut::AccelNone;
+}
+
+QAction *_kgui_createInternal(StandardAction id, QObject *parent)
+{
+ QAction *pAction = new QAction(parent);
+ const KStandardActionsInfo *pInfo = infoPtr(id);
+
+ // qCDebug(KCONFIG_WIDGETS_LOG) << "KStandardActions::create( " << id << "=" << (pInfo ? pInfo->psName : (const char*)0) << ", " << parent << " )"; //
+ // ellis
+
+ if (pInfo) {
+ QString sLabel;
+ QString iconName = pInfo->psIconName.toString();
+
+ switch (id) {
+ case Back:
+ sLabel = QCoreApplication::translate("go back", "&Back");
+ if (QGuiApplication::isRightToLeft()) {
+ iconName = QStringLiteral("go-next");
+ }
+ break;
+
+ case Forward:
+ sLabel = QCoreApplication::translate("go forward", "&Forward");
+ if (QGuiApplication::isRightToLeft()) {
+ iconName = QStringLiteral("go-previous");
+ }
+ break;
+
+ case Home:
+ sLabel = QCoreApplication::translate("home page", "&Home");
+ break;
+ case Preferences:
+ case AboutApp:
+ case HelpContents: {
+ QString appDisplayName = QGuiApplication::applicationDisplayName();
+ if (appDisplayName.isEmpty()) {
+ appDisplayName = QCoreApplication::applicationName();
+ }
+ sLabel = QCoreApplication::translate("KStandardActions", pInfo->psLabel).arg(appDisplayName);
+ } break;
+ default:
+ sLabel = QCoreApplication::translate("KStandardActions", pInfo->psLabel);
+ }
+
+ if (QGuiApplication::isRightToLeft()) {
+ switch (id) {
+ case Prior:
+ iconName = QStringLiteral("go-next-view-page");
+ break;
+ case Next:
+ iconName = QStringLiteral("go-previous-view-page");
+ break;
+ case FirstPage:
+ iconName = QStringLiteral("go-last-view-page");
+ break;
+ case LastPage:
+ iconName = QStringLiteral("go-first-view-page");
+ break;
+ case DocumentBack:
+ iconName = QStringLiteral("go-next");
+ break;
+ case DocumentForward:
+ iconName = QStringLiteral("go-previous");
+ break;
+ default:
+ break;
+ }
+ }
+
+ if (id == Donate) {
+ const QString currencyCode = QLocale().currencySymbol(QLocale::CurrencyIsoCode).toLower();
+ if (!currencyCode.isEmpty()) {
+ iconName = QStringLiteral("help-donate-%1").arg(currencyCode);
+ }
+ }
+
+ QIcon icon = iconName.isEmpty() ? QIcon() : QIcon::fromTheme(iconName);
+
+ if (id == AboutApp) {
+ icon = qGuiApp->windowIcon();
+ }
+
+ // Set the text before setting the MenuRole, as on OS X setText will do some heuristic role guessing.
+ // This ensures user menu items get the intended role out of the list below.
+ pAction->setText(sLabel);
+
+ switch (id) {
+ case Quit:
+ pAction->setMenuRole(QAction::QuitRole);
+ break;
+
+ case Preferences:
+ pAction->setMenuRole(QAction::PreferencesRole);
+ break;
+
+ case AboutApp:
+ pAction->setMenuRole(QAction::AboutRole);
+ break;
+
+ default:
+ pAction->setMenuRole(QAction::NoRole);
+ break;
+ }
+
+ if (!QCoreApplication::translate("KStandardActions", pInfo->psToolTip).isEmpty()) {
+ pAction->setToolTip(QCoreApplication::translate("KStandardActions", pInfo->psToolTip));
+ }
+ pAction->setIcon(icon);
+
+ QList<QKeySequence> cut = KStandardShortcut::shortcut(pInfo->idAccel);
+ if (!cut.isEmpty()) {
+ // emulate KActionCollection::setDefaultShortcuts to allow the use of "configure shortcuts"
+ pAction->setShortcuts(cut);
+ pAction->setProperty("defaultShortcuts", QVariant::fromValue(cut));
+ }
+ pAction->connect(KStandardShortcut::shortcutWatcher(),
+ &KStandardShortcut::StandardShortcutWatcher::shortcutChanged,
+ pAction,
+ [pAction, shortcut = pInfo->idAccel](KStandardShortcut::StandardShortcut id, const QList<QKeySequence> &newShortcut) {
+ if (id != shortcut) {
+ return;
+ }
+ pAction->setShortcuts(newShortcut);
+ pAction->setProperty("defaultShortcuts", QVariant::fromValue(newShortcut));
+ });
+
+ pAction->setObjectName(pInfo->psName.toString());
+ }
+
+ if (pAction && parent && parent->inherits("KActionCollection")) {
+ QMetaObject::invokeMethod(parent, "addAction", Q_ARG(QString, pAction->objectName()), Q_ARG(QAction *, pAction));
+ }
+
+ return pAction;
+}
+
+QString name(StandardAction id)
+{
+ const KStandardActionsInfo *pInfo = infoPtr(id);
+ return (pInfo) ? pInfo->psName.toString() : QString();
+}
+}
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 1999, 2000 Kurt Granroth <granroth@kde.org>
+ SPDX-FileCopyrightText: 2001, 2002 Ellis Whitehead <ellis@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-only
+*/
+#ifndef KGUISTANDARDACTION_H
+#define KGUISTANDARDACTION_H
+
+#include <QAction>
+#include <QList>
+#include <QStringList>
+
+#include <KStandardShortcut>
+#include <kconfiggui_export.h>
+
+#include <optional>
+#include <type_traits>
+
+class QObject;
+class QAction;
+
+/**
+ * Convenience methods to access all standard KDE actions.
+ *
+ * These actions should be used instead of hardcoding menubar and
+ * toolbar items. Using these actions helps your application easily
+ * conform to the <a href="https://develop.kde.org/hig/">KDE Human Interface Guidelines</a>.
+ *
+ * All of the documentation for QAction holds for KStandardActions
+ * also. When in doubt on how things work, check the QAction
+ * documentation first.
+ * Please note that calling any of these methods automatically adds the action
+ * to the actionCollection() of the QObject given by the 'parent' parameter.
+ *
+ * <b>Simple Example:</b>\n
+ *
+ * In general, using standard actions should be a drop in replacement
+ * for regular actions. For example, if you previously had:
+ * @code
+ * QAction *newAct = new QAction(QIcon::fromTheme("document-new"),
+ * i18n("&New"),
+ * this);
+ * newAct->setShortcut(KStandardShortcut::shortcut(KStandardShortcut::New).constFirst());
+ * connect(newAct, &QAction::triggered, this, &ClassFoo::fileNew);
+ * @endcode
+ *
+ * You can replace it with:
+ * @code
+ * QAction *newAct = KStandardActions::openNew(this, &ClassFoo::fileNew, this);
+ * @endcode
+ *
+ * Alternatively you can instantiate the action using the StandardAction enums
+ * provided. This author can't think of a reason why you would want to, but, hey,
+ * if you do, here's how:
+ *
+ * \code
+ * QAction *newAct = KStandardActions::create(KStandardActions::New, this, &ClassFoo::fileNew, this);
+ * \endcode
+ *
+ * <b>Relationship with KActionCollection from KXMLGui</b>\n
+ *
+ * If a KActionCollection is passed as the parent then the action will be
+ * automatically added to that collection:
+ * \code
+ * QAction *cut = KStandardActions::cut(this, &ClassFoo::editCut, actionCollection());
+ * \endcode
+ *
+ * Each action has a unique internal name which can be queried using the
+ * name method. For example KStandardActions::name(KStandardActions::Cut)
+ * would return 'edit_cut'. This name can be used as a unique identifier
+ * for the actions. So if you wanted to add an existing standard action
+ * to an action collection you can do so like this:
+ * \code
+ * QAction *cut = KStandardActions::cut(this, &ClassFoo::editCut, this);
+ * actionCollection()->addAction(KStandardActions::name(KStandardActions::Cut), cut);
+ * \endcode
+ *
+ * You can then get a pointer to the action using
+ * \code
+ * QAction *cutPtr = actionCollection()->action(KStandardActions::name(KStandardActions::Cut));
+ * \endcode
+ *
+ * @author Kurt Granroth <granroth@kde.org>
+ * @since 6.3
+ */
+namespace KStandardActions
+{
+/**
+ * The standard menubar and toolbar actions.
+ */
+enum StandardAction {
+ ActionNone,
+ // File Menu
+ New, ///< Create a new document or window.
+ Open, ///< Open an existing file.
+ OpenRecent, ///< Open a recently used document.
+ Save, ///< Save the current document.
+ SaveAs, ///< Save the current document under a different name.
+ Revert, ///< Revert the current document to the last saved version.
+ Close, ///< Close the current document.
+ Print, ///< Print the current document.
+ PrintPreview, ///< Show a print preview of the current document.
+ Mail, ///< Send the current document by mail.
+ Quit, ///< Quit the program.
+ // Edit Menu
+ Undo, ///< Undo the last operation.
+ Redo, ///< Redo the last operation.
+ Cut, ///< Cut selected area and store it in the clipboard.
+ Copy, ///< Copy selected area and store it in the clipboard.
+ Paste, ///< Paste the contents of clipboard at the current mouse or cursor.
+ SelectAll, ///< Select all elements in the current document.
+ Deselect, ///< Deselect any selected elements in the current document.
+ Find, ///< Initiate a 'find' request in the current document.
+ FindNext, ///< Find the next instance of a stored 'find'
+ FindPrev, ///< Find a previous instance of a stored 'find'.
+ Replace, ///< Find and replace matches.
+ // View Menu
+ ActualSize, ///< View the document at its actual size.
+ FitToPage, ///< Fit the document view to the size of the current window.
+ FitToWidth, ///< Fit the document view to the width of the current window.
+ FitToHeight, ///< Fit the document view to the height of the current window.
+ ZoomIn, ///< Zoom in the current document.
+ ZoomOut, ///< Zoom out the current document.
+ Zoom, ///< Select the current zoom level.
+ Redisplay, ///< Redisplay or redraw the document.
+ // Go Menu
+ Up, ///< Move up (web style menu).
+ Back, ///< Move back (web style menu).
+ Forward, ///< Move forward (web style menu).
+ Home, ///< Go to the "Home" position or document.
+ Prior, ///< Scroll up one page.
+ Next, ///< Scroll down one page.
+ Goto, ///< Jump to some specific location in the document.
+ GotoPage, ///< Go to a specific page.
+ GotoLine, ///< Go to a specific line.
+ FirstPage, ///< Jump to the first page.
+ LastPage, ///< Jump to the last page.
+ DocumentBack, ///< Move back (document style menu).
+ DocumentForward, ///< Move forward (document style menu).
+ // Bookmarks Menu
+ AddBookmark, ///< Add the current page to the bookmarks tree.
+ EditBookmarks, ///< Edit the application bookmarks.
+ // Tools Menu
+ Spelling, ///< Pop up the spell checker.
+ // Settings Menu
+ ShowMenubar, ///< Show/Hide the menubar.
+ ShowToolbar, ///< Show/Hide the toolbar.
+ ShowStatusbar, ///< Show/Hide the statusbar.
+ KeyBindings, ///< Display the configure key bindings dialog.
+ Preferences, ///< Display the preferences/options dialog.
+ ConfigureToolbars, ///< Display the toolbar configuration dialog.
+ // Help Menu
+ HelpContents, ///< Display the handbook of the application.
+ WhatsThis, ///< Trigger the What's This cursor.
+ ReportBug, ///< Open up the Report Bug dialog.
+ AboutApp, ///< Display the application's About box.
+ AboutKDE, ///< Display the About KDE dialog.
+ // Other standard actions
+ ConfigureNotifications, ///< Display the notifications configuration dialog.
+ FullScreen, ///< Switch to/from full screen mode.
+ Clear, ///< Clear the content of the focus widget.
+ SwitchApplicationLanguage, ///< Display the Switch Application Language dialog.
+ DeleteFile, ///< Permanently deletes files or folders.
+ RenameFile, ///< Renames files or folders.
+ MoveToTrash, ///< Moves files or folders to the trash.
+ Donate, ///< Open donation page on kde.org.
+ HamburgerMenu ///< Opens a menu that substitutes the menubar.
+ // To keep in sync with KConfigWidgets::KStandardAction
+};
+
+/**
+ * @internal
+ */
+KCONFIGGUI_EXPORT QAction *_kgui_createInternal(StandardAction id, QObject *parent);
+
+/**
+ * Creates an action corresponding to one of the
+ * KStandardActions::StandardAction actions, which is connected to the given
+ * object and @p slot, and is owned by @p parent.
+ *
+ * If not explicitly specified, @p connectionType will be AutoConnection for all actions
+ * except for ConfigureToolbars it will be QueuedConnection.
+ *
+ * @see create(StandardAction, const QObject *, const char *, QObject *)
+ */
+template<class Receiver, class Func>
+inline QAction *create(StandardAction id, const Receiver *recvr, Func slot, QObject *parent, std::optional<Qt::ConnectionType> connectionType = std::nullopt)
+{
+ QAction *action = _kgui_createInternal(id, parent);
+ // ConfigureToolbars is special because of bug #200815
+ const Qt::ConnectionType defaultConnectionType = (id == ConfigureToolbars) ? Qt::QueuedConnection : Qt::AutoConnection;
+ QObject::connect(action, &QAction::triggered, recvr, slot, connectionType.value_or(defaultConnectionType));
+ return action;
+}
+
+/**
+ * This will return the internal name of a given standard action.
+ */
+KCONFIGGUI_EXPORT QString name(StandardAction id);
+
+/**
+ * Returns a list of all actionIds.
+ */
+KCONFIGGUI_EXPORT QList<StandardAction> actionIds();
+
+/**
+ * Returns the standardshortcut associated with @a actionId.
+ *
+ * @param id The identifier whose associated shortcut is wanted.
+ */
+KCONFIGGUI_EXPORT KStandardShortcut::StandardShortcut shortcutForActionId(StandardAction id);
+
+// clang-format off
+#define KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(name, enumValue) \
+ template<class Receiver, class Func> \
+ inline QAction *name(const Receiver *recvr, Func slot, QObject *parent) \
+ { return create(enumValue, recvr, slot, parent); }
+// clang-format on
+
+/**
+ * Create a new document or window.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(openNew, New)
+
+/**
+ * Open an existing file.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(open, Open)
+
+/**
+ * Save the current document.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(save, Save)
+
+/**
+ * Save the current document under a different name.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(saveAs, SaveAs)
+
+/**
+ * Revert the current document to the last saved version
+ * (essentially will undo all changes).
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(revert, Revert)
+
+/**
+ * Close the current document.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(close, Close)
+
+/**
+ * Print the current document.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(print, Print)
+
+/**
+ * Show a print preview of the current document.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(printPreview, PrintPreview)
+
+/**
+ * Mail this document.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(mail, Mail)
+
+/**
+ * Quit the program.
+ *
+ * Note that you probably want to connect this action to either QWidget::close()
+ * or QApplication::closeAllWindows(), but not QApplication::quit(), so that
+ * KMainWindow::queryClose() is called on any open window (to warn the user
+ * about unsaved changes for example).
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(quit, Quit)
+
+/**
+ * Undo the last operation.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(undo, Undo)
+
+/**
+ * Redo the last operation.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(redo, Redo)
+
+/**
+ * Cut selected area and store it in the clipboard.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(cut, Cut)
+
+/**
+ * Copy the selected area into the clipboard.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(copy, Copy)
+
+/**
+ * Paste the contents of clipboard at the current mouse or cursor
+ * position.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(paste, Paste)
+
+/**
+ * Clear the content of the focus widget
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(clear, Clear)
+
+/**
+ * Select all elements in the current document.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(selectAll, SelectAll)
+
+/**
+ * Deselect any selected elements in the current document.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(deselect, Deselect)
+
+/**
+ * Initiate a 'find' request in the current document.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(find, Find)
+
+/**
+ * Find the next instance of a stored 'find'.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(findNext, FindNext)
+
+/**
+ * Find a previous instance of a stored 'find'.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(findPrev, FindPrev)
+
+/**
+ * Find and replace matches.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(replace, Replace)
+
+/**
+ * View the document at its actual size.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(actualSize, ActualSize)
+
+/**
+ * Fit the document view to the size of the current window.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(fitToPage, FitToPage)
+
+/**
+ * Fit the document view to the width of the current window.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(fitToWidth, FitToWidth)
+
+/**
+ * Fit the document view to the height of the current window.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(fitToHeight, FitToHeight)
+
+/**
+ * Zoom in the current document view.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(zoomIn, ZoomIn)
+
+/**
+ * Zoom out the current document view.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(zoomOut, ZoomOut)
+
+/**
+ * Select the current zoom level.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(zoom, Zoom)
+
+/**
+ * Redisplay or redraw the document.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(redisplay, Redisplay)
+
+/**
+ * Move up (web style menu).
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(up, Up)
+
+/**
+ * Move back (web style menu).
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(back, Back)
+
+/**
+ * Move forward (web style menu).
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(forward, Forward)
+
+/**
+ * Go to the "Home" position or document.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(home, Home)
+
+/**
+ * Scroll up one page.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(prior, Prior)
+
+/**
+ * Scroll down one page.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(next, Next)
+
+/**
+ * Jump to some specific location in the document.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(goTo, Goto)
+
+/**
+ * Go to a specific page.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(gotoPage, GotoPage)
+
+/**
+ * Go to a specific line.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(gotoLine, GotoLine)
+
+/**
+ * Jump to the first page.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(firstPage, FirstPage)
+
+/**
+ * Jump to the last page.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(lastPage, LastPage)
+
+/**
+ * Move back (document style menu).
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(documentBack, DocumentBack)
+
+/**
+ * Move forward (document style menu).
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(documentForward, DocumentForward)
+
+/**
+ * Add the current page to the bookmarks tree.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(addBookmark, AddBookmark)
+
+/**
+ * Edit the application bookmarks.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(editBookmarks, EditBookmarks)
+
+/**
+ * Pop up the spell checker.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(spelling, Spelling)
+
+/**
+ * Display the configure key bindings dialog.
+ *
+ * Note that you might be able to use the pre-built KXMLGUIFactory's function:
+ * @code
+ * KStandardActions::keyBindings(guiFactory(), &KXMLGUIFactory::showConfigureShortcutsDialog, actionCollection());
+ * @endcode
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(keyBindings, KeyBindings)
+
+/**
+ * Display the preferences/options dialog.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(preferences, Preferences)
+
+/**
+ * Display the toolbar configuration dialog.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(configureToolbars, ConfigureToolbars)
+
+/**
+ * Display the notifications configuration dialog.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(configureNotifications, ConfigureNotifications)
+
+/**
+ * Display the Switch Application Language dialog.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(switchApplicationLanguage, SwitchApplicationLanguage)
+
+/**
+ * Display the handbook of the application.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(helpContents, HelpContents)
+
+/**
+ * Trigger the What's This cursor.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(whatsThis, WhatsThis)
+
+/**
+ * Open up the Report Bug dialog.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(reportBug, ReportBug)
+
+/**
+ * Display the application's About box.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(aboutApp, AboutApp)
+
+/**
+ * Display the About KDE dialog.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(aboutKDE, AboutKDE)
+
+/**
+ * Permanently deletes files or folders.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(deleteFile, DeleteFile)
+
+/**
+ * Renames files or folders.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(renameFile, RenameFile)
+
+/**
+ * Moves files or folders to the trash.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(moveToTrash, MoveToTrash)
+
+/**
+ * Open donation page on kde.org.
+ */
+KGUISTANDARDACTION_WITH_NEW_STYLE_CONNECT(donate, Donate)
+}
+
+#endif // KSTDACTION_H
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 1999, 2000 Kurt Granroth <granroth@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-only
+*/
+
+#pragma once
+
+#include <QAction>
+#include <QGuiApplication>
+
+#include <KStandardActions>
+#include <KStandardShortcut>
+
+#include <string>
+
+namespace KStandardActions
+{
+
+/**
+ * Helper class for storing raw data in static tables which can be used for QString instance
+ * creation at runtime without copying/converting to new memalloc'ed memory, as well as avoiding
+ * that way storing the strings directly as QStrings resulting in non-constexpr init code on
+ * library loading
+ * @internal
+ */
+struct RawStringData {
+ template<std::size_t StringSize>
+ constexpr inline RawStringData(const char16_t (&_data)[StringSize])
+ : data(_data)
+ , size(std::char_traits<char16_t>::length(_data))
+ {
+ }
+ constexpr inline RawStringData(std::nullptr_t)
+ {
+ }
+ constexpr inline RawStringData() = default;
+
+ inline QString toString() const
+ {
+ if (!data) {
+ return QString();
+ }
+
+ return Qt::Literals::StringLiterals::operator""_s(data, size);
+ }
+
+private:
+ const char16_t *const data = nullptr;
+ const std::size_t size = 0;
+};
+
+/**
+ * @internal
+ */
+struct KStandardActionsInfo {
+ KStandardActions::StandardAction id;
+ KStandardShortcut::StandardShortcut idAccel;
+ const RawStringData psName;
+ const char *psLabel;
+ const char *psToolTip;
+ const RawStringData psIconName;
+};
+// clang-format off
+static constexpr KStandardActionsInfo g_rgActionInfo[] = {
+ { New, KStandardShortcut::New, u"file_new", QT_TRANSLATE_NOOP("KStandardActions", "&New"), QT_TRANSLATE_NOOP("KStandardActions", "Create new document"), u"document-new" },
+ { Open, KStandardShortcut::Open, u"file_open", QT_TRANSLATE_NOOP("KStandardActions", "&Open…"), QT_TRANSLATE_NOOP("KStandardActions", "Open an existing document"), u"document-open" },
+ { OpenRecent, KStandardShortcut::AccelNone, u"file_open_recent", QT_TRANSLATE_NOOP("KStandardActions", "Open &Recent"), QT_TRANSLATE_NOOP("KStandardActions", "Open a document which was recently opened"), u"document-open-recent" },
+ { Save, KStandardShortcut::Save, u"file_save", QT_TRANSLATE_NOOP("KStandardActions", "&Save"), QT_TRANSLATE_NOOP("KStandardActions", "Save document"), u"document-save" },
+ { SaveAs, KStandardShortcut::SaveAs, u"file_save_as", QT_TRANSLATE_NOOP("KStandardActions", "Save &As…"), QT_TRANSLATE_NOOP("KStandardActions", "Save document under a new name"), u"document-save-as" },
+ { Revert, KStandardShortcut::Revert, u"file_revert", QT_TRANSLATE_NOOP("KStandardActions", "Re&vert"), QT_TRANSLATE_NOOP("KStandardActions", "Revert unsaved changes made to document"), u"document-revert" },
+ { Close, KStandardShortcut::Close, u"file_close", QT_TRANSLATE_NOOP("KStandardActions", "&Close"), QT_TRANSLATE_NOOP("KStandardActions", "Close document"), u"document-close" },
+ { Print, KStandardShortcut::Print, u"file_print", QT_TRANSLATE_NOOP("KStandardActions", "&Print…"), QT_TRANSLATE_NOOP("KStandardActions", "Print document"), u"document-print" },
+ { PrintPreview, KStandardShortcut::PrintPreview, u"file_print_preview", QT_TRANSLATE_NOOP("KStandardActions", "Print Previe&w"), QT_TRANSLATE_NOOP("KStandardActions", "Show a print preview of document"), u"document-print-preview" },
+ { Mail, KStandardShortcut::Mail, u"file_mail", QT_TRANSLATE_NOOP("KStandardActions", "&Mail…"), QT_TRANSLATE_NOOP("KStandardActions", "Send document by mail"), u"mail-send" },
+ { Quit, KStandardShortcut::Quit, u"file_quit", QT_TRANSLATE_NOOP("KStandardActions", "&Quit"), QT_TRANSLATE_NOOP("KStandardActions", "Quit application"), u"application-exit" },
+
+ { Undo, KStandardShortcut::Undo, u"edit_undo", QT_TRANSLATE_NOOP("KStandardActions", "&Undo"), QT_TRANSLATE_NOOP("KStandardActions", "Undo last action"), u"edit-undo" },
+ { Redo, KStandardShortcut::Redo, u"edit_redo", QT_TRANSLATE_NOOP("KStandardActions", "Re&do"), QT_TRANSLATE_NOOP("KStandardActions", "Redo last undone action"), u"edit-redo" },
+ { Cut, KStandardShortcut::Cut, u"edit_cut", QT_TRANSLATE_NOOP("KStandardActions", "Cu&t"), QT_TRANSLATE_NOOP("KStandardActions", "Cut selection to clipboard"), u"edit-cut" },
+ { Copy, KStandardShortcut::Copy, u"edit_copy", QT_TRANSLATE_NOOP("KStandardActions", "&Copy"), QT_TRANSLATE_NOOP("KStandardActions", "Copy selection to clipboard"), u"edit-copy" },
+ { Paste, KStandardShortcut::Paste, u"edit_paste", QT_TRANSLATE_NOOP("KStandardActions", "&Paste"), QT_TRANSLATE_NOOP("KStandardActions", "Paste clipboard content"), u"edit-paste" },
+ { Clear, KStandardShortcut::Clear, u"edit_clear", QT_TRANSLATE_NOOP("KStandardActions", "C&lear"), {}, u"edit-clear" },
+ { SelectAll, KStandardShortcut::SelectAll, u"edit_select_all", QT_TRANSLATE_NOOP("KStandardActions", "Select &All"), {}, u"edit-select-all" },
+ { Deselect, KStandardShortcut::Deselect, u"edit_deselect", QT_TRANSLATE_NOOP("KStandardActions", "Dese&lect"), {}, u"edit-select-none" },
+ { Find, KStandardShortcut::Find, u"edit_find", QT_TRANSLATE_NOOP("KStandardActions", "&Find…"), {}, u"edit-find" },
+ { FindNext, KStandardShortcut::FindNext, u"edit_find_next", QT_TRANSLATE_NOOP("KStandardActions", "Find &Next"), {}, u"go-down-search" },
+ { FindPrev, KStandardShortcut::FindPrev, u"edit_find_prev", QT_TRANSLATE_NOOP("KStandardActions", "Find Pre&vious"), {}, u"go-up-search" },
+ { Replace, KStandardShortcut::Replace, u"edit_replace", QT_TRANSLATE_NOOP("KStandardActions", "&Replace…"), {}, u"edit-find-replace" },
+
+ { ActualSize, KStandardShortcut::ActualSize, u"view_actual_size", QT_TRANSLATE_NOOP("KStandardActions", "Zoom to &Actual Size"), QT_TRANSLATE_NOOP("KStandardActions", "View document at its actual size"), u"zoom-original" },
+ { FitToPage, KStandardShortcut::FitToPage, u"view_fit_to_page", QT_TRANSLATE_NOOP("KStandardActions", "&Fit to Page"), QT_TRANSLATE_NOOP("KStandardActions", "Zoom to fit page in window"), u"zoom-fit-page" },
+ { FitToWidth, KStandardShortcut::FitToWidth, u"view_fit_to_width", QT_TRANSLATE_NOOP("KStandardActions", "Fit to Page &Width"), QT_TRANSLATE_NOOP("KStandardActions", "Zoom to fit page width in window"), u"zoom-fit-width" },
+ { FitToHeight, KStandardShortcut::FitToHeight, u"view_fit_to_height", QT_TRANSLATE_NOOP("KStandardActions", "Fit to Page &Height"), QT_TRANSLATE_NOOP("KStandardActions", "Zoom to fit page height in window"), u"zoom-fit-height" },
+ { ZoomIn, KStandardShortcut::ZoomIn, u"view_zoom_in", QT_TRANSLATE_NOOP("KStandardActions", "Zoom &In"), {}, u"zoom-in" },
+ { ZoomOut, KStandardShortcut::ZoomOut, u"view_zoom_out", QT_TRANSLATE_NOOP("KStandardActions", "Zoom &Out"), {}, u"zoom-out" },
+ { Zoom, KStandardShortcut::Zoom, u"view_zoom", QT_TRANSLATE_NOOP("KStandardActions", "&Zoom…"), QT_TRANSLATE_NOOP("KStandardActions", "Select zoom level"), u"zoom" },
+ { Redisplay, KStandardShortcut::Reload, u"view_redisplay", QT_TRANSLATE_NOOP("KStandardActions", "&Refresh"), QT_TRANSLATE_NOOP("KStandardActions", "Refresh document"), u"view-refresh" },
+
+ { Up, KStandardShortcut::Up, u"go_up", QT_TRANSLATE_NOOP("KStandardActions", "&Up"), QT_TRANSLATE_NOOP("KStandardActions", "Go up"), u"go-up" },
+ // The following three have special i18n() needs for sLabel
+ { Back, KStandardShortcut::Back, u"go_back", {}, {}, u"go-previous" },
+ { Forward, KStandardShortcut::Forward, u"go_forward", {}, {}, u"go-next" },
+ { Home, KStandardShortcut::Home, u"go_home", {}, {}, u"go-home" },
+ { Prior, KStandardShortcut::Prior, u"go_previous", QT_TRANSLATE_NOOP("KStandardActions", "&Previous Page"), QT_TRANSLATE_NOOP("KStandardActions", "Go to previous page"), u"go-previous-view-page" },
+ { Next, KStandardShortcut::Next, u"go_next", QT_TRANSLATE_NOOP("KStandardActions", "&Next Page"), QT_TRANSLATE_NOOP("KStandardActions", "Go to next page"), u"go-next-view-page" },
+ { Goto, KStandardShortcut::Goto, u"go_goto", QT_TRANSLATE_NOOP("KStandardActions", "&Go To…"), {}, {} },
+ { GotoPage, KStandardShortcut::GotoPage, u"go_goto_page", QT_TRANSLATE_NOOP("KStandardActions", "&Go to Page…"), {}, u"go-jump" },
+ { GotoLine, KStandardShortcut::GotoLine, u"go_goto_line", QT_TRANSLATE_NOOP("KStandardActions", "&Go to Line…"), {}, {} },
+ { FirstPage, KStandardShortcut::Begin, u"go_first", QT_TRANSLATE_NOOP("KStandardActions", "&First Page"), QT_TRANSLATE_NOOP("KStandardActions", "Go to first page"), u"go-first-view-page" },
+ { LastPage, KStandardShortcut::End, u"go_last", QT_TRANSLATE_NOOP("KStandardActions", "&Last Page"), QT_TRANSLATE_NOOP("KStandardActions", "Go to last page"), u"go-last-view-page" },
+ { DocumentBack, KStandardShortcut::DocumentBack, u"go_document_back", QT_TRANSLATE_NOOP("KStandardActions", "&Back"), QT_TRANSLATE_NOOP("KStandardActions", "Go back in document"), u"go-previous" },
+ { DocumentForward, KStandardShortcut::DocumentForward, u"go_document_forward", QT_TRANSLATE_NOOP("KStandardActions", "&Forward"), QT_TRANSLATE_NOOP("KStandardActions", "Go forward in document"), u"go-next" },
+
+ { AddBookmark, KStandardShortcut::AddBookmark, u"bookmark_add", QT_TRANSLATE_NOOP("KStandardActions", "&Add Bookmark"), {}, u"bookmark-new" },
+ { EditBookmarks, KStandardShortcut::EditBookmarks, u"bookmark_edit", QT_TRANSLATE_NOOP("KStandardActions", "&Edit Bookmarks…"), {}, u"bookmarks-organize" },
+
+ { Spelling, KStandardShortcut::Spelling, u"tools_spelling", QT_TRANSLATE_NOOP("KStandardActions", "&Spelling…"), QT_TRANSLATE_NOOP("KStandardActions", "Check spelling in document"), u"tools-check-spelling" },
+
+ { ShowMenubar, KStandardShortcut::ShowMenubar, u"options_show_menubar", QT_TRANSLATE_NOOP("KStandardActions", "Show &Menubar"), QT_TRANSLATE_NOOP("KStandardActions", "Show or hide menubar"), u"show-menu" },
+ { ShowToolbar, KStandardShortcut::ShowToolbar, u"options_show_toolbar", QT_TRANSLATE_NOOP("KStandardActions", "Show &Toolbar"), QT_TRANSLATE_NOOP("KStandardActions", "Show or hide toolbar"), {} },
+ { ShowStatusbar, KStandardShortcut::ShowStatusbar, u"options_show_statusbar", QT_TRANSLATE_NOOP("KStandardActions", "Show St&atusbar"), QT_TRANSLATE_NOOP("KStandardActions", "Show or hide statusbar"), {} },
+ { FullScreen, KStandardShortcut::FullScreen, u"fullscreen", QT_TRANSLATE_NOOP("KStandardActions", "F&ull Screen Mode"), {}, u"view-fullscreen" },
+ { KeyBindings, KStandardShortcut::KeyBindings, u"options_configure_keybinding", QT_TRANSLATE_NOOP("KStandardActions", "Configure Keyboard S&hortcuts…"), {}, u"configure-shortcuts" },
+ { Preferences, KStandardShortcut::Preferences, u"options_configure", QT_TRANSLATE_NOOP("KStandardActions", "&Configure %1…"), {}, u"configure" },
+ { ConfigureToolbars, KStandardShortcut::ConfigureToolbars, u"options_configure_toolbars", QT_TRANSLATE_NOOP("KStandardActions", "Configure Tool&bars…"), {}, u"configure-toolbars" },
+ { ConfigureNotifications, KStandardShortcut::ConfigureNotifications, u"options_configure_notifications", QT_TRANSLATE_NOOP("KStandardActions", "Configure &Notifications…"), {}, u"preferences-desktop-notification" },
+
+ // the idea here is that Contents is used in menus, and Help in dialogs, so both share the same
+ // shortcut
+ { HelpContents, KStandardShortcut::Help, u"help_contents", QT_TRANSLATE_NOOP("KStandardActions", "%1 &Handbook"), {}, u"help-contents" },
+ { WhatsThis, KStandardShortcut::WhatsThis, u"help_whats_this", QT_TRANSLATE_NOOP("KStandardActions", "What's &This?"), {}, u"help-contextual" },
+ { ReportBug, KStandardShortcut::ReportBug, u"help_report_bug", QT_TRANSLATE_NOOP("KStandardActions", "&Report Bug…"), {}, u"tools-report-bug" },
+ { SwitchApplicationLanguage, KStandardShortcut::SwitchApplicationLanguage, u"switch_application_language", QT_TRANSLATE_NOOP("KStandardActions", "Configure &Language…"), {}, u"preferences-desktop-locale" },
+ { AboutApp, KStandardShortcut::AccelNone, u"help_about_app", QT_TRANSLATE_NOOP("KStandardActions", "&About %1"), {}, nullptr },
+ { AboutKDE, KStandardShortcut::AccelNone, u"help_about_kde", QT_TRANSLATE_NOOP("KStandardActions", "About &KDE"), {}, u"kde" },
+ { DeleteFile, KStandardShortcut::DeleteFile, u"deletefile", QT_TRANSLATE_NOOP("KStandardActions", "&Delete"), {}, u"edit-delete" },
+ { RenameFile, KStandardShortcut::RenameFile, u"renamefile", QT_TRANSLATE_NOOP("KStandardActions", "&Rename…"), {}, u"edit-rename" },
+ { MoveToTrash, KStandardShortcut::MoveToTrash, u"movetotrash", QT_TRANSLATE_NOOP("KStandardActions", "&Move to Trash"), {}, u"trash-empty" },
+ { Donate, KStandardShortcut::Donate, u"help_donate", QT_TRANSLATE_NOOP("KStandardActions", "&Donate"), {}, u"help-donate"},
+ { HamburgerMenu, KStandardShortcut::OpenMainMenu, u"hamburger_menu", QT_TRANSLATE_NOOP("KStandardActions", "Open &Menu"), {}, u"application-menu" },
+};
+// clang-format on
+
+/**
+ * @internal
+ */
+inline const KStandardActionsInfo *infoPtr(StandardAction id)
+{
+ for (const auto &action : g_rgActionInfo) {
+ if (action.id == id) {
+ return &action;
+ }
+ }
+
+ return nullptr;
+}
+
+/**
+ * @internal
+ */
+static inline QStringList internal_stdNames()
+{
+ QStringList result;
+
+ for (const auto &action : g_rgActionInfo) {
+ if (!QCoreApplication::translate("KStandardActions", action.psLabel).isEmpty()) {
+ if (QByteArrayView(action.psLabel).contains("%1"))
+ // Prevents KLocalizedString::toString() from complaining about unsubstituted placeholder.
+ {
+ result.append(QCoreApplication::translate("KStandardActions", action.psLabel).arg(QString()));
+ } else {
+ result.append(QCoreApplication::translate("KStandardActions", action.psLabel));
+ }
+ }
+ }
+
+ return result;
+}
+}
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 1997 Stefan Taferner <taferner@alpin.or.at>
+ SPDX-FileCopyrightText: 2000 Nicolas Hadacek <haadcek@kde.org>
+ SPDX-FileCopyrightText: 2001, 2002 Ellis Whitehead <ellis@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kstandardshortcut.h"
+#include "kstandardshortcutwatcher.h"
+
+#include "kconfig.h"
+#include "kconfigwatcher.h"
+#include "ksharedconfig.h"
+#include <kconfiggroup.h>
+
+#include <QCoreApplication>
+#include <QDebug>
+#include <QKeySequence>
+
+namespace KStandardShortcut
+{
+struct KStandardShortcutInfo {
+ //! The standard shortcut id. @see StandardShortcut
+ StandardShortcut id;
+
+ /**
+ * Unique name for the given accel. The name is used to save the user
+ * settings. It's not representable. Use description for that.
+ * @warning NEVER EVER CHANGE IT OR TRANSLATE IT!
+ */
+ const char *name;
+
+ //! Localized label for user-visible display, including translation context.
+ struct {
+ const char *text;
+ const char *context;
+ } description;
+
+ //! The keys for this shortcut
+ int cutDefault, cutDefault2;
+
+ //! A shortcut that is created with @a cutDefault and @cutDefault2
+ QList<QKeySequence> cut;
+
+ //! If this struct is initialized. If not initialized @cut is not valid
+ bool isInitialized;
+
+ // Category of this Shortcut
+ Category category;
+};
+
+#define CTRL(x) QKeyCombination(Qt::CTRL | Qt::Key_##x).toCombined()
+#define SHIFT(x) QKeyCombination(Qt::SHIFT | Qt::Key_##x).toCombined()
+#define CTRLALT(x) QKeyCombination(Qt::CTRL | Qt::ALT | Qt::Key_##x).toCombined()
+#define CTRLSHIFT(x) QKeyCombination(Qt::CTRL | Qt::SHIFT | Qt::Key_##x).toCombined()
+#define ALT(x) QKeyCombination(Qt::ALT | Qt::Key_##x).toCombined()
+#define ALTSHIFT(x) QKeyCombination(Qt::ALT | Qt::SHIFT | Qt::Key_##x).toCombined()
+#define CTRLMETA(x) QKeyCombination(Qt::CTRL | Qt::META | Qt::Key_##x).toCombined()
+
+/** Array of predefined KStandardShortcutInfo objects, which cover all
+ the "standard" accelerators. Each enum value from StandardShortcut
+ should appear in this table.
+*/
+// STUFF WILL BREAK IF YOU DON'T READ THIS!!!
+// Read the comments of the big enum in kstandardshortcut.h before you change anything!
+static KStandardShortcutInfo g_infoStandardShortcut[] = {
+ // Group File,
+ {AccelNone, nullptr, {nullptr, nullptr}, 0, 0, QList<QKeySequence>(), false, Category::InvalidCategory},
+ {Open, "Open", QT_TRANSLATE_NOOP3("KStandardShortcut", "Open", "@action"), CTRL(O), 0, QList<QKeySequence>(), false, Category::File},
+ {New, "New", QT_TRANSLATE_NOOP3("KStandardShortcut", "New", "@action"), CTRL(N), 0, QList<QKeySequence>(), false, Category::File},
+ {Close, "Close", QT_TRANSLATE_NOOP3("KStandardShortcut", "Close", "@action"), CTRL(W), CTRL(Escape), QList<QKeySequence>(), false, Category::File},
+ {Save, "Save", QT_TRANSLATE_NOOP3("KStandardShortcut", "Save", "@action"), CTRL(S), 0, QList<QKeySequence>(), false, Category::File},
+ {Print, "Print", QT_TRANSLATE_NOOP3("KStandardShortcut", "Print", "@action"), CTRL(P), 0, QList<QKeySequence>(), false, Category::File},
+ {Quit, "Quit", QT_TRANSLATE_NOOP3("KStandardShortcut", "Quit", "@action"), CTRL(Q), 0, QList<QKeySequence>(), false, Category::Navigation},
+
+ // Group Edit
+ {Undo, "Undo", QT_TRANSLATE_NOOP3("KStandardShortcut", "Undo", "@action"), CTRL(Z), 0, QList<QKeySequence>(), false, Category::Edit},
+ {Redo, "Redo", QT_TRANSLATE_NOOP3("KStandardShortcut", "Redo", "@action"), CTRLSHIFT(Z), 0, QList<QKeySequence>(), false, Category::Edit},
+ // Both "Cut" and "Delete" use Shift+Delete, but this is okay; see
+ // https://commits.kde.org/kxmlgui/8eabbf6725386e716b7536c71a9181dfe5d959f0
+ {Cut, "Cut", QT_TRANSLATE_NOOP3("KStandardShortcut", "Cut", "@action"), CTRL(X), SHIFT(Delete), QList<QKeySequence>(), false, Category::Edit},
+ {Copy, "Copy", QT_TRANSLATE_NOOP3("KStandardShortcut", "Copy", "@action"), CTRL(C), CTRL(Insert), QList<QKeySequence>(), false, Category::Edit},
+ {Paste, "Paste", QT_TRANSLATE_NOOP3("KStandardShortcut", "Paste", "@action"), CTRL(V), SHIFT(Insert), QList<QKeySequence>(), false, Category::Edit},
+ {PasteSelection,
+ "Paste Selection",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Paste Selection", "@action"),
+ CTRLSHIFT(Insert),
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::Edit},
+
+ {SelectAll, "SelectAll", QT_TRANSLATE_NOOP3("KStandardShortcut", "Select All", "@action"), CTRL(A), 0, QList<QKeySequence>(), false, Category::Edit},
+ {Deselect, "Deselect", QT_TRANSLATE_NOOP3("KStandardShortcut", "Deselect", "@action"), CTRLSHIFT(A), 0, QList<QKeySequence>(), false, Category::Edit},
+ {DeleteWordBack,
+ "DeleteWordBack",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Delete Word Backwards", "@action"),
+#if defined(Q_OS_MACOS)
+ ALT(Backspace),
+#else
+ CTRL(Backspace),
+#endif
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::Edit},
+ {DeleteWordForward,
+ "DeleteWordForward",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Delete Word Forward", "@action"),
+#if defined(Q_OS_MACOS)
+ ALT(Delete),
+#else
+ CTRL(Delete),
+#endif
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::Edit},
+
+ {Find, "Find", QT_TRANSLATE_NOOP3("KStandardShortcut", "Find", "@action"), CTRL(F), 0, QList<QKeySequence>(), false, Category::Edit},
+ {FindNext, "FindNext", QT_TRANSLATE_NOOP3("KStandardShortcut", "Find Next", "@action"), Qt::Key_F3, 0, QList<QKeySequence>(), false, Category::Edit},
+ {FindPrev, "FindPrev", QT_TRANSLATE_NOOP3("KStandardShortcut", "Find Prev", "@action"), SHIFT(F3), 0, QList<QKeySequence>(), false, Category::Edit},
+ {Replace, "Replace", QT_TRANSLATE_NOOP3("KStandardShortcut", "Replace", "@action"), CTRL(R), 0, QList<QKeySequence>(), false, Category::Edit},
+
+ // Group Navigation
+ {Home,
+ "Home",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Home", "@action Go to main page"),
+ ALT(Home),
+ Qt::Key_HomePage,
+ QList<QKeySequence>(),
+ false,
+ Category::Navigation},
+ {Begin,
+ "Begin",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Begin", "@action Beginning of document"),
+#if defined(Q_OS_MACOS)
+ CTRL(Up),
+#else
+ CTRL(Home),
+#endif
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::Navigation},
+ {End,
+ "End",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "End", "@action End of document"),
+#if defined(Q_OS_MACOS)
+ CTRL(Down),
+#else
+ CTRL(End),
+#endif
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::Navigation},
+ {Prior, "Prior", QT_TRANSLATE_NOOP3("KStandardShortcut", "Prior", "@action"), Qt::Key_PageUp, 0, QList<QKeySequence>(), false, Category::Navigation},
+ {Next,
+ "Next",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Next", "@action Opposite to Prior"),
+ Qt::Key_PageDown,
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::Navigation},
+
+ {Up, "Up", QT_TRANSLATE_NOOP3("KStandardShortcut", "Up", "@action"), ALT(Up), 0, QList<QKeySequence>(), false, Category::Navigation},
+ {Back, "Back", QT_TRANSLATE_NOOP3("KStandardShortcut", "Back", "@action"), ALT(Left), Qt::Key_Back, QList<QKeySequence>(), false, Category::Navigation},
+ {Forward,
+ "Forward",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Forward", "@action"),
+ ALT(Right),
+ Qt::Key_Forward,
+ QList<QKeySequence>(),
+ false,
+ Category::Navigation},
+ {Reload,
+ "Reload",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Reload", "@action"),
+ Qt::Key_F5,
+ Qt::Key_Refresh,
+ QList<QKeySequence>(),
+ false,
+ Category::Navigation},
+
+ {BeginningOfLine,
+ "BeginningOfLine",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Beginning of Line", "@action"),
+#if defined(Q_OS_MACOS)
+ CTRL(Left),
+#else
+ Qt::Key_Home,
+#endif
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::Navigation},
+ {EndOfLine,
+ "EndOfLine",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "End of Line", "@action"),
+#if defined(Q_OS_MACOS)
+ CTRL(Right),
+#else
+ Qt::Key_End,
+#endif
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::Navigation},
+ {GotoLine, "GotoLine", QT_TRANSLATE_NOOP3("KStandardShortcut", "Go to Line", "@action"), CTRL(G), 0, QList<QKeySequence>(), false, Category::Navigation},
+ {BackwardWord,
+ "BackwardWord",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Backward Word", "@action"),
+#if defined(Q_OS_MACOS)
+ ALT(Left),
+#else
+ CTRL(Left),
+#endif
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::Navigation},
+ {ForwardWord,
+ "ForwardWord",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Forward Word", "@action"),
+#if defined(Q_OS_MACOS)
+ ALT(Right),
+#else
+ CTRL(Right),
+#endif
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::Navigation},
+
+ {AddBookmark,
+ "AddBookmark",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Add Bookmark", "@action"),
+ CTRL(B),
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::Navigation},
+ {ZoomIn, "ZoomIn", QT_TRANSLATE_NOOP3("KStandardShortcut", "Zoom In", "@action"), CTRL(Plus), CTRL(Equal), QList<QKeySequence>(), false, Category::View},
+ {ZoomOut, "ZoomOut", QT_TRANSLATE_NOOP3("KStandardShortcut", "Zoom Out", "@action"), CTRL(Minus), 0, QList<QKeySequence>(), false, Category::View},
+ {FullScreen,
+ "FullScreen",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Full Screen Mode", "@action"),
+#if defined(Q_OS_MACOS)
+ CTRLMETA(F),
+#else
+ CTRLSHIFT(F),
+#endif
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::View},
+
+ {ShowMenubar, "ShowMenubar", QT_TRANSLATE_NOOP3("KStandardShortcut", "Show Menu Bar", "@action"), CTRL(M), 0, QList<QKeySequence>(), false, Category::View},
+ {TabNext,
+ "Activate Next Tab",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Activate Next Tab", "@action"),
+ CTRL(PageDown),
+ CTRL(BracketRight),
+ QList<QKeySequence>(),
+ false,
+ Category::Navigation},
+ {TabPrev,
+ "Activate Previous Tab",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Activate Previous Tab", "@action"),
+ CTRL(PageUp),
+ CTRL(BracketLeft),
+ QList<QKeySequence>(),
+ false,
+ Category::Navigation},
+
+ // Group Help
+ {Help, "Help", QT_TRANSLATE_NOOP3("KStandardShortcut", "Help", "@action"), Qt::Key_F1, 0, QList<QKeySequence>(), false, Category::Help},
+ {WhatsThis, "WhatsThis", QT_TRANSLATE_NOOP3("KStandardShortcut", "What's This", "@action"), SHIFT(F1), 0, QList<QKeySequence>(), false, Category::Help},
+
+ // Group TextCompletion
+ {TextCompletion,
+ "TextCompletion",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Text Completion", "@action"),
+ CTRL(E),
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::Edit},
+ {PrevCompletion,
+ "PrevCompletion",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Previous Completion Match", "@action"),
+ CTRL(Up),
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::Edit},
+ {NextCompletion,
+ "NextCompletion",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Next Completion Match", "@action"),
+ CTRL(Down),
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::Edit},
+ {SubstringCompletion,
+ "SubstringCompletion",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Substring Completion", "@action"),
+ CTRL(T),
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::Edit},
+
+ {RotateUp,
+ "RotateUp",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Previous Item in List", "@action"),
+ Qt::Key_Up,
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::Navigation},
+ {RotateDown,
+ "RotateDown",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Next Item in List", "@action"),
+ Qt::Key_Down,
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::Navigation},
+
+ {OpenRecent, "OpenRecent", QT_TRANSLATE_NOOP3("KStandardShortcut", "Open Recent", "@action"), 0, 0, QList<QKeySequence>(), false, Category::File},
+ {SaveAs, "SaveAs", QT_TRANSLATE_NOOP3("KStandardShortcut", "Save As", "@action"), CTRLSHIFT(S), 0, QList<QKeySequence>(), false, Category::File},
+ {Revert, "Revert", QT_TRANSLATE_NOOP3("KStandardShortcut", "Revert", "@action"), 0, 0, QList<QKeySequence>(), false, Category::Edit},
+ {PrintPreview, "PrintPreview", QT_TRANSLATE_NOOP3("KStandardShortcut", "Print Preview", "@action"), 0, 0, QList<QKeySequence>(), false, Category::File},
+ {Mail, "Mail", QT_TRANSLATE_NOOP3("KStandardShortcut", "Mail", "@action"), 0, 0, QList<QKeySequence>(), false, Category::Help},
+ {Clear, "Clear", QT_TRANSLATE_NOOP3("KStandardShortcut", "Clear", "@action"), 0, 0, QList<QKeySequence>(), false, Category::Edit},
+ {ActualSize,
+ "ActualSize",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Zoom to Actual Size", "@action"),
+ CTRL(0),
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::View},
+ {FitToPage, "FitToPage", QT_TRANSLATE_NOOP3("KStandardShortcut", "Fit To Page", "@action"), 0, 0, QList<QKeySequence>(), false, Category::View},
+ {FitToWidth, "FitToWidth", QT_TRANSLATE_NOOP3("KStandardShortcut", "Fit To Width", "@action"), 0, 0, QList<QKeySequence>(), false, Category::View},
+ {FitToHeight, "FitToHeight", QT_TRANSLATE_NOOP3("KStandardShortcut", "Fit To Height", "@action"), 0, 0, QList<QKeySequence>(), false, Category::View},
+ {Zoom, "Zoom", QT_TRANSLATE_NOOP3("KStandardShortcut", "Zoom", "@action"), 0, 0, QList<QKeySequence>(), false, Category::View},
+ {Goto, "Goto", QT_TRANSLATE_NOOP3("KStandardShortcut", "Goto", "@action"), 0, 0, QList<QKeySequence>(), false, Category::Navigation},
+ {GotoPage, "GotoPage", QT_TRANSLATE_NOOP3("KStandardShortcut", "Goto Page", "@action"), 0, 0, QList<QKeySequence>(), false, Category::Navigation},
+ {DocumentBack,
+ "DocumentBack",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Document Back", "@action"),
+ ALTSHIFT(Left),
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::Navigation},
+ {DocumentForward,
+ "DocumentForward",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Document Forward", "@action"),
+ ALTSHIFT(Right),
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::Navigation},
+ {EditBookmarks,
+ "EditBookmarks",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Edit Bookmarks", "@action"),
+ 0,
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::Navigation},
+ {Spelling, "Spelling", QT_TRANSLATE_NOOP3("KStandardShortcut", "Spelling", "@action"), 0, 0, QList<QKeySequence>(), false, Category::Edit},
+ {ShowToolbar, "ShowToolbar", QT_TRANSLATE_NOOP3("KStandardShortcut", "Show Toolbar", "@action"), 0, 0, QList<QKeySequence>(), false, Category::View},
+ {ShowStatusbar, "ShowStatusbar", QT_TRANSLATE_NOOP3("KStandardShortcut", "Show Statusbar", "@action"), 0, 0, QList<QKeySequence>(), false, Category::View},
+ {KeyBindings,
+ "KeyBindings",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Key Bindings", "@action"),
+ CTRLALT(Comma),
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::Settings},
+ {Preferences,
+ "Preferences",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Configure Application", "@action"),
+ CTRLSHIFT(Comma),
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::Settings},
+ {ConfigureToolbars,
+ "ConfigureToolbars",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Configure Toolbars", "@action"),
+ 0,
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::Settings},
+ {ConfigureNotifications,
+ "ConfigureNotifications",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Configure Notifications", "@action"),
+ 0,
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::Settings},
+ {ReportBug, "ReportBug", QT_TRANSLATE_NOOP3("KStandardShortcut", "Report Bug", "@action"), 0, 0, QList<QKeySequence>(), false, Category::Help},
+ {SwitchApplicationLanguage,
+ "SwitchApplicationLanguage",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Configure Language…", "@action"),
+ 0,
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::Settings},
+ {AboutApp, "AboutApp", QT_TRANSLATE_NOOP3("KStandardShortcut", "About Application", "@action"), 0, 0, QList<QKeySequence>(), false, Category::Help},
+ {AboutKDE, "AboutKDE", QT_TRANSLATE_NOOP3("KStandardShortcut", "About KDE", "@action"), 0, 0, QList<QKeySequence>(), false, Category::Help},
+ // Both "Cut" and "Delete" use Shift+Delete, but this is okay; see
+ // https://commits.kde.org/kxmlgui/8eabbf6725386e716b7536c71a9181dfe5d959f0
+ {DeleteFile, "DeleteFile", QT_TRANSLATE_NOOP3("KStandardShortcut", "Delete", "@action"), SHIFT(Delete), 0, QList<QKeySequence>(), false, Category::File},
+ {RenameFile, "RenameFile", QT_TRANSLATE_NOOP3("KStandardShortcut", "Rename", "@action"), Qt::Key_F2, 0, QList<QKeySequence>(), false, Category::File},
+ {MoveToTrash,
+ "MoveToTrash",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Move to Trash", "@action"),
+ Qt::Key_Delete,
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::File},
+ {Donate, "Donate", QT_TRANSLATE_NOOP3("KStandardShortcut", "Donate", "@action"), 0, 0, QList<QKeySequence>(), false, Category::Help},
+ {ShowHideHiddenFiles,
+ "ShowHideHiddenFiles",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Show/Hide Hidden Files", "@action"),
+ CTRL(H),
+ ALT(Period),
+ QList<QKeySequence>(),
+ false,
+ Category::View},
+ {CreateFolder,
+ "CreateFolder",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Create Folder", "@action"),
+ CTRLSHIFT(N),
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::File},
+ {OpenMainMenu,
+ "OpenMainMenu",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Open Main Menu", "@action referring to the menu bar or a hamburger menu"),
+ Qt::Key_F10,
+ 0,
+ QList<QKeySequence>(),
+ false,
+ Category::View},
+ {OpenContextMenu,
+ "OpenContextMenu",
+ QT_TRANSLATE_NOOP3("KStandardShortcut", "Open Context Menu", "@action"),
+ Qt::Key_Menu,
+ SHIFT(F10),
+ QList<QKeySequence>(),
+ false,
+ Category::View},
+
+ // dummy entry to catch simple off-by-one errors. Insert new entries before this line.
+ {AccelNone, nullptr, {nullptr, nullptr}, 0, 0, QList<QKeySequence>(), false, Category::InvalidCategory}};
+
+/** Search for the KStandardShortcutInfo object associated with the given @p id.
+ Return a dummy entry with no name and an empty shortcut if @p id is invalid.
+*/
+static KStandardShortcutInfo *guardedStandardShortcutInfo(StandardShortcut id)
+{
+ if (id >= static_cast<int>(sizeof(g_infoStandardShortcut) / sizeof(KStandardShortcutInfo)) || id < 0) {
+ qWarning() << "KStandardShortcut: id not found!";
+ return &g_infoStandardShortcut[AccelNone];
+ } else {
+ return &g_infoStandardShortcut[id];
+ }
+}
+
+// Sanitize the list for duplicates. For some reason some
+// people have kdeglobals entries like
+// Close=Ctrl+W; Ctrl+Esc; Ctrl+W; Ctrl+Esc;
+// having the same shortcut more than once in the shortcut
+// declaration is clearly bogus so fix it
+static void sanitizeShortcutList(QList<QKeySequence> *list)
+{
+ for (int i = 0; i < list->size(); ++i) {
+ const QKeySequence &ks = list->at(i);
+ int other = list->indexOf(ks, i + 1);
+ while (other != -1) {
+ list->removeAt(other);
+ other = list->indexOf(ks, other);
+ }
+ }
+}
+
+/** Initialize the accelerator @p id by checking if it is overridden
+ in the configuration file (and if it isn't, use the default).
+ On X11, if QApplication was initialized with GUI disabled,
+ the default will always be used.
+*/
+void initialize(StandardShortcut id)
+{
+ KStandardShortcutInfo *info = guardedStandardShortcutInfo(id);
+
+ // All three are needed.
+ if (info->id != AccelNone) {
+ Q_ASSERT(info->description.text);
+ Q_ASSERT(info->description.context);
+ Q_ASSERT(info->name);
+ }
+
+ KConfigGroup cg(KSharedConfig::openConfig(), QStringLiteral("Shortcuts"));
+
+ if (cg.hasKey(info->name)) {
+ QString s = cg.readEntry(info->name);
+ if (s != QLatin1String("none")) {
+ info->cut = QKeySequence::listFromString(s);
+ sanitizeShortcutList(&info->cut);
+ } else {
+ info->cut = QList<QKeySequence>();
+ }
+ } else {
+ info->cut = hardcodedDefaultShortcut(id);
+ }
+
+ info->isInitialized = true;
+}
+
+void saveShortcut(StandardShortcut id, const QList<QKeySequence> &newShortcut)
+{
+ KStandardShortcutInfo *info = guardedStandardShortcutInfo(id);
+ // If the action has no standard shortcut associated there is nothing to
+ // save
+ if (info->id == AccelNone) {
+ return;
+ }
+
+ KConfigGroup cg(KSharedConfig::openConfig(), QStringLiteral("Shortcuts"));
+
+ info->cut = newShortcut;
+ bool sameAsDefault = (newShortcut == hardcodedDefaultShortcut(id));
+
+ if (sameAsDefault) {
+ // If the shortcut is the equal to the hardcoded one we remove it from
+ // kdeglobal if necessary and return.
+ if (cg.hasKey(info->name)) {
+ cg.deleteEntry(info->name, KConfig::Global | KConfig::Persistent | KConfig::Notify);
+ cg.sync();
+ }
+
+ return;
+ }
+
+ // Write the changed shortcut to kdeglobals
+ sanitizeShortcutList(&info->cut);
+ cg.writeEntry(info->name, QKeySequence::listToString(info->cut), KConfig::Global | KConfig::Persistent | KConfig::Notify);
+ cg.sync();
+}
+
+QString name(StandardShortcut id)
+{
+ return QString::fromLatin1(guardedStandardShortcutInfo(id)->name);
+}
+
+QString label(StandardShortcut id)
+{
+ KStandardShortcutInfo *info = guardedStandardShortcutInfo(id);
+ return QCoreApplication::translate("KStandardShortcut", info->description.text, info->description.context);
+}
+
+// TODO: Add psWhatsThis entry to KStandardShortcutInfo
+QString whatsThis(StandardShortcut /*id*/)
+{
+ // KStandardShortcutInfo* info = guardedStandardShortcutInfo( id );
+ // if( info && info->whatsThis )
+ // return i18n(info->whatsThis);
+ // else
+ return QString();
+}
+
+const QList<QKeySequence> &shortcut(StandardShortcut id)
+{
+ KStandardShortcutInfo *info = guardedStandardShortcutInfo(id);
+
+ if (!info->isInitialized) {
+ initialize(id);
+ }
+
+ return info->cut;
+}
+
+StandardShortcut find(const QKeySequence &seq)
+{
+ if (!seq.isEmpty()) {
+ for (const KStandardShortcutInfo &shortcutInfo : g_infoStandardShortcut) {
+ const StandardShortcut id = shortcutInfo.id;
+ if (id != AccelNone) {
+ if (!shortcutInfo.isInitialized) {
+ initialize(id);
+ }
+ if (shortcutInfo.cut.contains(seq)) {
+ return id;
+ }
+ }
+ }
+ }
+ return AccelNone;
+}
+
+StandardShortcut findByName(const QString &name)
+{
+ for (const KStandardShortcutInfo &shortcutInfo : g_infoStandardShortcut) {
+ if (QLatin1StringView(shortcutInfo.name) == name) {
+ return shortcutInfo.id;
+ }
+ }
+ return AccelNone;
+}
+
+QList<QKeySequence> hardcodedDefaultShortcut(StandardShortcut id)
+{
+ QList<QKeySequence> cut;
+ KStandardShortcutInfo *info = guardedStandardShortcutInfo(id);
+
+ if (info->cutDefault != 0) {
+ cut << info->cutDefault;
+ }
+
+ if (info->cutDefault2 != 0) {
+ if (cut.isEmpty()) {
+ cut << QKeySequence();
+ }
+
+ cut << info->cutDefault2;
+ }
+
+ return cut;
+}
+
+Category category(StandardShortcut id)
+{
+ return guardedStandardShortcutInfo(id)->category;
+}
+
+const QList<QKeySequence> &open()
+{
+ return shortcut(Open);
+}
+const QList<QKeySequence> &openNew()
+{
+ return shortcut(New);
+}
+const QList<QKeySequence> &close()
+{
+ return shortcut(Close);
+}
+const QList<QKeySequence> &save()
+{
+ return shortcut(Save);
+}
+const QList<QKeySequence> &print()
+{
+ return shortcut(Print);
+}
+const QList<QKeySequence> &quit()
+{
+ return shortcut(Quit);
+}
+const QList<QKeySequence> &cut()
+{
+ return shortcut(Cut);
+}
+const QList<QKeySequence> ©()
+{
+ return shortcut(Copy);
+}
+const QList<QKeySequence> &paste()
+{
+ return shortcut(Paste);
+}
+const QList<QKeySequence> &pasteSelection()
+{
+ return shortcut(PasteSelection);
+}
+const QList<QKeySequence> &deleteWordBack()
+{
+ return shortcut(DeleteWordBack);
+}
+const QList<QKeySequence> &deleteWordForward()
+{
+ return shortcut(DeleteWordForward);
+}
+const QList<QKeySequence> &undo()
+{
+ return shortcut(Undo);
+}
+const QList<QKeySequence> &redo()
+{
+ return shortcut(Redo);
+}
+const QList<QKeySequence> &find()
+{
+ return shortcut(Find);
+}
+const QList<QKeySequence> &findNext()
+{
+ return shortcut(FindNext);
+}
+const QList<QKeySequence> &findPrev()
+{
+ return shortcut(FindPrev);
+}
+const QList<QKeySequence> &replace()
+{
+ return shortcut(Replace);
+}
+const QList<QKeySequence> &home()
+{
+ return shortcut(Home);
+}
+const QList<QKeySequence> &begin()
+{
+ return shortcut(Begin);
+}
+const QList<QKeySequence> &end()
+{
+ return shortcut(End);
+}
+const QList<QKeySequence> &beginningOfLine()
+{
+ return shortcut(BeginningOfLine);
+}
+const QList<QKeySequence> &endOfLine()
+{
+ return shortcut(EndOfLine);
+}
+const QList<QKeySequence> &prior()
+{
+ return shortcut(Prior);
+}
+const QList<QKeySequence> &next()
+{
+ return shortcut(Next);
+}
+const QList<QKeySequence> &backwardWord()
+{
+ return shortcut(BackwardWord);
+}
+const QList<QKeySequence> &forwardWord()
+{
+ return shortcut(ForwardWord);
+}
+const QList<QKeySequence> &gotoLine()
+{
+ return shortcut(GotoLine);
+}
+const QList<QKeySequence> &addBookmark()
+{
+ return shortcut(AddBookmark);
+}
+const QList<QKeySequence> &tabNext()
+{
+ return shortcut(TabNext);
+}
+const QList<QKeySequence> &tabPrev()
+{
+ return shortcut(TabPrev);
+}
+const QList<QKeySequence> &fullScreen()
+{
+ return shortcut(FullScreen);
+}
+const QList<QKeySequence> &zoomIn()
+{
+ return shortcut(ZoomIn);
+}
+const QList<QKeySequence> &zoomOut()
+{
+ return shortcut(ZoomOut);
+}
+const QList<QKeySequence> &help()
+{
+ return shortcut(Help);
+}
+const QList<QKeySequence> &completion()
+{
+ return shortcut(TextCompletion);
+}
+const QList<QKeySequence> &prevCompletion()
+{
+ return shortcut(PrevCompletion);
+}
+const QList<QKeySequence> &nextCompletion()
+{
+ return shortcut(NextCompletion);
+}
+const QList<QKeySequence> &rotateUp()
+{
+ return shortcut(RotateUp);
+}
+const QList<QKeySequence> &rotateDown()
+{
+ return shortcut(RotateDown);
+}
+const QList<QKeySequence> &substringCompletion()
+{
+ return shortcut(SubstringCompletion);
+}
+const QList<QKeySequence> &whatsThis()
+{
+ return shortcut(WhatsThis);
+}
+const QList<QKeySequence> &reload()
+{
+ return shortcut(Reload);
+}
+const QList<QKeySequence> &selectAll()
+{
+ return shortcut(SelectAll);
+}
+const QList<QKeySequence> &up()
+{
+ return shortcut(Up);
+}
+const QList<QKeySequence> &back()
+{
+ return shortcut(Back);
+}
+const QList<QKeySequence> &forward()
+{
+ return shortcut(Forward);
+}
+const QList<QKeySequence> &showMenubar()
+{
+ return shortcut(ShowMenubar);
+}
+const QList<QKeySequence> &deleteFile()
+{
+ return shortcut(DeleteFile);
+}
+const QList<QKeySequence> &renameFile()
+{
+ return shortcut(RenameFile);
+}
+const QList<QKeySequence> &createFolder()
+{
+ return shortcut(CreateFolder);
+}
+const QList<QKeySequence> &moveToTrash()
+{
+ return shortcut(MoveToTrash);
+}
+const QList<QKeySequence> &preferences()
+{
+ return shortcut(Preferences);
+}
+const QList<QKeySequence> &showHideHiddenFiles()
+{
+ return shortcut(ShowHideHiddenFiles);
+}
+const QList<QKeySequence> &openMainMenu()
+{
+ return shortcut(OpenMainMenu);
+}
+const QList<QKeySequence> &openContextMenu()
+{
+ return shortcut(OpenContextMenu);
+}
+}
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 1997 Stefan Taferner <taferner@kde.org>
+ SPDX-FileCopyrightText: 2000 Nicolas Hadacek <hadacek@kde.org>
+ SPDX-FileCopyrightText: 2001, 2002 Ellis Whitehead <ellis@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+#ifndef KSTANDARDSHORTCUT_H
+#define KSTANDARDSHORTCUT_H
+
+#include <QKeySequence>
+#include <QString>
+
+#include <kconfiggui_export.h>
+
+/**
+ * \namespace KStandardShortcut
+ * Convenient methods for access to the common accelerator keys in
+ * the key configuration. These are the standard keybindings that should
+ * be used in all KDE applications. They will be configurable,
+ * so do not hardcode the default behavior.
+ */
+namespace KStandardShortcut
+{
+// STUFF WILL BREAK IF YOU DON'T READ THIS!!!
+/*
+ *Always add new std-accels to the end of this enum, never in the middle!
+ *Don't forget to add the corresponding entries in g_infoStandardShortcut[] in kstandardshortcut.cpp, too.
+ *Values of elements here and positions of the corresponding entries in
+ *the big array g_infoStandardShortcut[] ABSOLUTELY MUST BE THE SAME.
+ * !!! !!!! !!!!! !!!!
+ * !!!! !!! !!!! !!!!
+ *
+ * Other Rules:
+ *
+ * - Never change the name of an existing shortcut
+ * - Never translate the name of a shortcut
+ */
+
+/**
+ * Defines the identifier of all standard accelerators.
+ */
+enum StandardShortcut {
+ // C++ requires that the value of an enum symbol be one more than the previous one.
+ // This means that everything will be well-ordered from here on.
+ AccelNone = 0,
+ // File menu
+ Open, ///< Open file.
+ New, ///< Create a new document.
+ Close, ///< Close current document.
+ Save, ///< Save current document.
+ // The Print item
+ Print, ///< Print current document.
+ Quit, ///< Quit the program.
+ // Edit menu
+ Undo, ///< Undo last operation.
+ Redo, ///< Redo last operation.
+ Cut, ///< Cut selected area and store it in the clipboard.
+ Copy, ///< Copy selected area into the clipboard.
+ Paste, ///< Paste contents of clipboard at mouse/cursor position.
+ PasteSelection, ///< Paste the selection at mouse/cursor position.
+ SelectAll, ///< Select all.
+ Deselect, ///< Deselect any selected elements.
+ DeleteWordBack, ///< Delete a word back from mouse/cursor position.
+ DeleteWordForward, ///< Delete a word forward from mouse/cursor position.
+ Find, ///< Initiate a 'find' request in the current document.
+ FindNext, ///< Find the next instance of a stored 'find'.
+ FindPrev, ///< Find a previous instance of a stored 'find'.
+ Replace, ///< Find and replace matches.
+ // Navigation
+ Home, ///< Go to home page.
+ Begin, ///< Go to beginning of the document.
+ End, ///< Go to end of the document.
+ Prior, ///< Scroll up one page.
+ Next, ///< Scroll down one page.
+ Up, ///< Up.
+ Back, ///< Back.
+ Forward, ///< Forward.
+ Reload, ///< Reload.
+ // Text Navigation
+ BeginningOfLine, ///< Go to beginning of current line.
+ EndOfLine, ///< Go to end of current line.
+ GotoLine, ///< Go to line.
+ BackwardWord, ///< BackwardWord.
+ ForwardWord, ///< ForwardWord.
+ // View parameters
+ AddBookmark, ///< Add current page to bookmarks.
+ ZoomIn, ///< Zoom in.
+ ZoomOut, ///< Zoom out.
+ FullScreen, ///< Full Screen mode.
+ ShowMenubar, ///< Show Menu Bar.
+ // Tabular navigation
+ TabNext, ///< Next Tab.
+ TabPrev, ///< Previous Tab.
+ // Help menu
+ Help, ///< Help the user in the current situation.
+ WhatsThis, ///< What's This button.
+ // Text completion
+ TextCompletion, ///< Complete text in input widgets.
+ PrevCompletion, ///< Iterate through a list when completion returns multiple items.
+ NextCompletion, ///< Iterate through a list when completion returns multiple items.
+ SubstringCompletion, ///< Find a string within another string or list of strings.
+ RotateUp, ///< Help users iterate through a list of entries.
+ RotateDown, ///< Help users iterate through a list of entries.
+ OpenRecent, ///< Open a recently used document.
+ SaveAs, ///< Save the current document under a different name.
+ Revert, ///< Revert the current document to the last saved version.
+ PrintPreview, ///< Show a print preview of the current document.
+ Mail, ///< Send the current document by mail.
+ Clear, ///< Clear the content of the focus widget.
+ ActualSize, ///< View the document at its actual size.
+ FitToPage, ///< Fit the document view to the size of the current window.
+ FitToWidth, ///< Fit the document view to the width of the current window.
+ FitToHeight, ///< Fit the document view to the height of the current window.
+ Zoom, ///< Select the current zoom level.
+ Goto, ///< Jump to some specific location in the document.
+ GotoPage, ///< Go to a specific page.
+ DocumentBack, ///< Move back (document style menu).
+ DocumentForward, ///< Move forward (document style menu).
+ EditBookmarks, ///< Edit the application bookmarks.
+ Spelling, ///< Pop up the spell checker.
+ ShowToolbar, ///< Show/Hide the toolbar.
+ ShowStatusbar, ///< Show/Hide the statusbar.
+ KeyBindings, ///< Display the configure key bindings dialog.
+ Preferences, ///< Display the preferences/options dialog.
+ ConfigureToolbars, ///< Display the toolbar configuration dialog.
+ ConfigureNotifications, ///< Display the notifications configuration dialog.
+ ReportBug, ///< Display the Report Bug dialog.
+ SwitchApplicationLanguage, ///< Display the Switch Application Language dialog.
+ AboutApp, ///< Display the application's About dialog.
+ AboutKDE, ///< Display the About KDE dialog.
+ DeleteFile, ///< Permanently delete files or folders. @since 5.25
+ RenameFile, ///< Rename files or folders. @since 5.25
+ MoveToTrash, ///< Move files or folders to the trash. @since 5.25
+ Donate, ///< Open donation page on kde.org. @since 5.26
+ ShowHideHiddenFiles, ///< Toggle showing or hiding hidden files @since 5.70
+ CreateFolder, ///< Create a folder. @since 5.74
+ OpenMainMenu, ///< Open a main menu like the menu bar or a hamburger menu. Necessary for accessibility. @since 6.0
+ OpenContextMenu, ///< Open a context menu for the object with keyboard focus. Necessary for accessibility. @since 6.0
+ // Insert new items here!
+
+ StandardShortcutCount, // number of standard shortcuts
+};
+
+/**
+ * Categories in which the standard shortcuts can be classified
+ * @since 5.74
+ */
+enum class Category {
+ InvalidCategory = -1,
+ File,
+ Edit,
+ Navigation,
+ View,
+ Settings,
+ Help,
+};
+
+/**
+ * Returns the keybinding for @p accel.
+ * On X11, if QApplication was initialized with GUI disabled, the
+ * default keybinding will always be returned.
+ * @param id the id of the accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &shortcut(StandardShortcut id);
+
+/**
+ * Returns a unique name for the given accel.
+ * @param id the id of the accelerator
+ * @return the unique name of the accelerator
+ */
+KCONFIGGUI_EXPORT QString name(StandardShortcut id);
+
+/**
+ * Returns a localized label for user-visible display.
+ * @param id the id of the accelerator
+ * @return a localized label for the accelerator
+ */
+KCONFIGGUI_EXPORT QString label(StandardShortcut id);
+
+/**
+ * Returns an extended WhatsThis description for the given accelerator.
+ * @param id the id of the accelerator
+ * @return a localized description of the accelerator
+ */
+KCONFIGGUI_EXPORT QString whatsThis(StandardShortcut id);
+
+/**
+ * Return the StandardShortcut id of the standard accel action which
+ * uses this key sequence, or AccelNone if none of them do.
+ * This is used by class KKeyChooser.
+ * @param keySeq the key sequence to search
+ * @return the id of the standard accelerator, or AccelNone if there
+ * is none
+ */
+KCONFIGGUI_EXPORT StandardShortcut find(const QKeySequence &keySeq);
+
+/**
+ * Return the StandardShortcut id of the standard accelerator action which
+ * has \p name as its name, or AccelNone if none of them do.
+ * @param name the name as returned by name(StandardShortcut id)
+ * @return the id of the standard accelerator with the given name or AccelNone
+ * if there is no such accelerator
+ * @since 5.71
+ */
+KCONFIGGUI_EXPORT StandardShortcut findByName(const QString &name);
+
+/**
+ * Returns the hardcoded default shortcut for @p id.
+ * This does not take into account the user's configuration.
+ * @param id the id of the accelerator
+ * @return the default shortcut of the accelerator
+ */
+KCONFIGGUI_EXPORT QList<QKeySequence> hardcodedDefaultShortcut(StandardShortcut id);
+
+/**
+ * Saves the new shortcut \a cut for standard accel \a id.
+ */
+KCONFIGGUI_EXPORT void saveShortcut(StandardShortcut id, const QList<QKeySequence> &newShortcut);
+
+/**
+ * Returns the appropriate category for the given StandardShortcut \p id.
+ * @since 5.73
+ */
+KCONFIGGUI_EXPORT Category category(StandardShortcut id);
+
+/**
+ * Open file. Default: Ctrl-o
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &open();
+
+/**
+ * Create a new document (or whatever). Default: Ctrl-n
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &openNew();
+
+/**
+ * Close current document. Default: Ctrl-w
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &close();
+
+/**
+ * Save current document. Default: Ctrl-s
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &save();
+
+/**
+ * Print current document. Default: Ctrl-p
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &print();
+
+/**
+ * Quit the program. Default: Ctrl-q
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &quit();
+
+/**
+ * Undo last operation. Default: Ctrl-z
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &undo();
+
+/**
+ * Redo last operation. Default: Shift-Ctrl-z
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &redo();
+
+/**
+ * Cut selected area and store it in the clipboard. Default: Ctrl-x
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &cut();
+
+/**
+ * Copy selected area into the clipboard. Default: Ctrl-c
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> ©();
+
+/**
+ * Paste contents of clipboard at mouse/cursor position. Default: Ctrl-v
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &paste();
+
+/**
+ * Paste the selection at mouse/cursor position. Default: Ctrl-Shift-Insert
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &pasteSelection();
+
+/**
+ * Select all. Default: Ctrl-A
+ * @return the shortcut of the standard accelerator
+ **/
+KCONFIGGUI_EXPORT const QList<QKeySequence> &selectAll();
+
+/**
+ * Delete a word back from mouse/cursor position. Default: Ctrl-Backspace
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &deleteWordBack();
+
+/**
+ * Delete a word forward from mouse/cursor position. Default: Ctrl-Delete
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &deleteWordForward();
+
+/**
+ * Initiate a 'find' request in the current document. Default: Ctrl-f
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &find();
+
+/**
+ * Find the next instance of a stored 'find' Default: F3
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &findNext();
+
+/**
+ * Find a previous instance of a stored 'find'. Default: Shift-F3
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &findPrev();
+
+/**
+ * Find and replace matches. Default: Ctrl-r
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &replace();
+
+/**
+ * Zoom in. Default: Ctrl-Plus
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &zoomIn();
+
+/**
+ * Zoom out. Default: Ctrl-Minus
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &zoomOut();
+
+/**
+ * Go to home page. Default: Alt-Home
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &home();
+
+/**
+ * Go to beginning of the document. Default: Ctrl-Home
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &begin();
+
+/**
+ * Go to end of the document. Default: Ctrl-End
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &end();
+
+/**
+ * Go to beginning of current line. Default: Home
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &beginningOfLine();
+
+/**
+ * Go to end of current line. Default: End
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &endOfLine();
+
+/**
+ * Scroll up one page. Default: Prior
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &prior();
+
+/**
+ * Scroll down one page. Default: Next
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &next();
+
+/**
+ * Go to line. Default: Ctrl+G
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &gotoLine();
+
+/**
+ * Add current page to bookmarks. Default: Ctrl+B
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &addBookmark();
+
+/**
+ * Next Tab. Default: Ctrl-<
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &tabNext();
+
+/**
+ * Previous Tab. Default: Ctrl->
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &tabPrev();
+
+/**
+ * Full Screen Mode. Default: Ctrl+Shift+F
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &fullScreen();
+
+/**
+ * Help the user in the current situation. Default: F1
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &help();
+
+/**
+ * Complete text in input widgets. Default Ctrl+E
+ * @return the shortcut of the standard accelerator
+ **/
+KCONFIGGUI_EXPORT const QList<QKeySequence> &completion();
+
+/**
+ * Iterate through a list when completion returns
+ * multiple items. Default: Ctrl+Up
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &prevCompletion();
+
+/**
+ * Iterate through a list when completion returns
+ * multiple items. Default: Ctrl+Down
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &nextCompletion();
+
+/**
+ * Find a string within another string or list of strings.
+ * Default: Ctrl-T
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &substringCompletion();
+
+/**
+ * Help users iterate through a list of entries. Default: Up
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &rotateUp();
+
+/**
+ * Help users iterate through a list of entries. Default: Down
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &rotateDown();
+
+/**
+ * What's This button. Default: Shift+F1
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &whatsThis();
+
+/**
+ * Reload. Default: F5
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &reload();
+
+/**
+ * Up. Default: Alt+Up
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &up();
+
+/**
+ * Back. Default: Alt+Left
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &back();
+
+/**
+ * Forward. Default: ALT+Right
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &forward();
+
+/**
+ * BackwardWord. Default: Ctrl+Left
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &backwardWord();
+
+/**
+ * ForwardWord. Default: Ctrl+Right
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &forwardWord();
+
+/**
+ * Show Menu Bar. Default: Ctrl-M
+ * @return the shortcut of the standard accelerator
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &showMenubar();
+
+/**
+ * Permanently delete files or folders. Default: Shift+Delete
+ * @return the shortcut of the standard accelerator
+ * @since 5.25
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &deleteFile();
+
+/**
+ * Rename files or folders. Default: F2
+ * @return the shortcut of the standard accelerator
+ * @since 5.25
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &renameFile();
+
+/**
+ * Create a folder. Default: Ctrl+Shift+N
+ * @return the shortcut of the standard accelerator
+ * @since 5.74
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &createFolder();
+
+/**
+ * Moves files or folders to the trash. Default: Delete
+ * @return the shortcut of the standard accelerator
+ * @since 5.25
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &moveToTrash();
+
+/**
+ * Opens the app's settings window. Default: Ctrl+Shift+Comma
+ * @return the shortcut of the standard accelerator
+ * @since 5.64
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &preferences();
+
+/**
+ * Shows or hides hidden files. Defaults: Ctrl+H, Alt+.
+ * @return the shortcut of the standard accelerator
+ * @since 5.70
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &showHideHiddenFiles();
+
+/**
+ * Open a main menu like the menu bar or a hamburger menu.
+ * Necessary for accessibility. Default: F10
+ * @return the shortcut of the standard accelerator
+ * @since 6.0
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &openMainMenu();
+
+/**
+ * Open a context menu for the object with keyboard focus.
+ * Necessary for accessibility. Default: Menu, Shift+F10
+ * @return the shortcut of the standard accelerator
+ * @since 6.0
+ */
+KCONFIGGUI_EXPORT const QList<QKeySequence> &openContextMenu();
+}
+
+#endif // KSTANDARDSHORTCUT_H
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 1997 Stefan Taferner <taferner@alpin.or.at>
+ SPDX-FileCopyrightText: 2000 Nicolas Hadacek <haadcek@kde.org>
+ SPDX-FileCopyrightText: 2001, 2002 Ellis Whitehead <ellis@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KSTANDARDSHORTCUT_P_H
+#define KSTANDARDSHORTCUT_P_H
+
+#include "kstandardshortcut.h"
+
+namespace KStandardShortcut
+{
+void initialize(StandardShortcut id);
+}
+
+#endif
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2022 David Redondo <kde@david-redondo.de>
+
+ SPDX-License-Identifier: LGPL-2.0-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
+*/
+
+#include "kstandardshortcutwatcher.h"
+
+#include "kconfigwatcher.h"
+#include "kstandardshortcut_p.h"
+
+namespace KStandardShortcut
+{
+class StandardShortcutWatcherPrivate
+{
+public:
+ KConfigWatcher::Ptr watcher = KConfigWatcher::create(KSharedConfig::openConfig());
+};
+
+StandardShortcutWatcher::StandardShortcutWatcher(QObject *parent)
+ : QObject(parent)
+ , d(std::make_unique<StandardShortcutWatcherPrivate>())
+{
+ connect(d->watcher.get(), &KConfigWatcher::configChanged, this, [this](const KConfigGroup &group, const QByteArrayList &keys) {
+ if (group.name() != QStringLiteral("Shortcuts")) {
+ return;
+ }
+ for (const auto &key : keys) {
+ const StandardShortcut shortcut = KStandardShortcut::findByName(QString::fromUtf8(key));
+ if (shortcut != KStandardShortcut::AccelNone) {
+ initialize(shortcut);
+ Q_EMIT shortcutChanged(shortcut, KStandardShortcut::shortcut(shortcut));
+ }
+ }
+ });
+}
+
+StandardShortcutWatcher::~StandardShortcutWatcher() = default;
+
+StandardShortcutWatcher *shortcutWatcher()
+{
+ static StandardShortcutWatcher watcher;
+ return &watcher;
+}
+
+}
+
+#include "moc_kstandardshortcutwatcher.cpp"
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2022 David Redondo <kde@david-redondo.de>
+
+ SPDX-License-Identifier: LGPL-2.0-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
+*/
+
+#ifndef KSTANDARDSHORTCUTWATCHER_H
+#define KSTANDARDSHORTCUTWATCHER_H
+
+#include "kstandardshortcut.h"
+
+#include <QObject>
+
+#include <memory>
+
+#include <kconfiggui_export.h>
+
+namespace KStandardShortcut
+{
+class StandardShortcutWatcherPrivate;
+
+/**
+ * Watches for changes made to standard shortcuts and notifies about those changes.
+ * @see KStandardShortcut::shortcutWatcher
+ * @since 5.91
+ */
+class KCONFIGGUI_EXPORT StandardShortcutWatcher : public QObject
+{
+ Q_OBJECT
+public:
+ ~StandardShortcutWatcher();
+Q_SIGNALS:
+ /**
+ * The standardshortcut @p id was changed to @p shortcut
+ */
+ void shortcutChanged(KStandardShortcut::StandardShortcut id, const QList<QKeySequence> &shortcut);
+
+private:
+ KCONFIGGUI_NO_EXPORT explicit StandardShortcutWatcher(QObject *parent = nullptr);
+
+ friend KCONFIGGUI_EXPORT StandardShortcutWatcher *shortcutWatcher();
+ std::unique_ptr<StandardShortcutWatcherPrivate> d;
+};
+
+/**
+ * Returns the global KStandardShortcutWatcher instance of this program.
+ * In addition to the notifying about changes it also keeps the information returned by the
+ * functions in @p KStandardShortcut up to date.
+ * The object is created by the first call to this function.
+ * @since 5.91
+ */
+KCONFIGGUI_EXPORT StandardShortcutWatcher *shortcutWatcher();
+}
+
+#endif
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2012 Benjamin Port <benjamin.port@ben2367.fr>
+
+ SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
+*/
+
+#include "kwindowconfig.h"
+#include "ksharedconfig.h"
+
+#include <QGuiApplication>
+#include <QScreen>
+#include <QWindow>
+
+static const char s_initialSizePropertyName[] = "_kconfig_initial_size";
+static const char s_initialScreenSizePropertyName[] = "_kconfig_initial_screen_size";
+
+// Convenience function to get a space-separated list of all connected screens
+static QString allConnectedScreens()
+{
+ QStringList names;
+ const auto screens = QGuiApplication::screens();
+ names.reserve(screens.length());
+ for (auto screen : screens) {
+ names << screen->name();
+ }
+ // A string including the connector names is used in the config file key for
+ // storing per-screen-arrangement size and position data, which means we
+ // need this string to be consistent for the same screen arrangement. But
+ // connector order is non-deterministic. We need to sort the list to keep a
+ // consistent order and avoid losing multi-screen size and position data.
+ names.sort();
+ return names.join(QLatin1Char(' '));
+}
+
+// Convenience function to return screen by its name from window screen siblings
+// returns current window screen if not found
+static QScreen *findScreenByName(const QWindow *window, const QString screenName)
+{
+ if (screenName == window->screen()->name()) {
+ return window->screen();
+ }
+ for (QScreen *s : window->screen()->virtualSiblings()) {
+ if (s->name() == screenName) {
+ return s;
+ }
+ }
+ return window->screen();
+}
+
+// Convenience function to get an appropriate config file key under which to
+// save window size, position, or maximization information.
+static QString configFileString(const QString &key)
+{
+ QString returnString;
+ const int numberOfScreens = QGuiApplication::screens().length();
+
+ if (numberOfScreens == 1) {
+ // For single-screen setups, we save data on a per-resolution basis.
+ const QRect screenGeometry = QGuiApplication::primaryScreen()->geometry();
+ returnString = QStringLiteral("%1x%2 screen: %3").arg(QString::number(screenGeometry.width()), QString::number(screenGeometry.height()), key);
+ } else {
+ // For multi-screen setups, we save data based on the number of screens.
+ // Distinguishing individual screens based on their names is unreliable
+ // due to name strings being inherently volatile.
+ returnString = QStringLiteral("%1 screens: %2").arg(QString::number(numberOfScreens), key);
+ }
+ return returnString;
+}
+
+// Convenience function for "window is maximized" string
+static QString screenMaximizedString()
+{
+ return configFileString(QStringLiteral("Window-Maximized"));
+}
+// Convenience function for window width string
+static QString windowWidthString()
+{
+ return configFileString(QStringLiteral("Width"));
+}
+// Convenience function for window height string
+static QString windowHeightString()
+{
+ return configFileString(QStringLiteral("Height"));
+}
+// Convenience function for window X position string
+static QString windowXPositionString()
+{
+ return configFileString(QStringLiteral("XPosition"));
+}
+// Convenience function for window Y position string
+static QString windowYPositionString()
+{
+ return configFileString(QStringLiteral("YPosition"));
+}
+static QString windowScreenPositionString()
+{
+ return QStringLiteral("%1").arg(allConnectedScreens());
+}
+
+void KWindowConfig::saveWindowSize(const QWindow *window, KConfigGroup &config, KConfigGroup::WriteConfigFlags options)
+{
+ // QWindow::screen() shouldn't return null, but it sometimes does due to bugs.
+ if (!window || !window->screen()) {
+ return;
+ }
+ const QScreen *screen = window->screen();
+
+ const QSize sizeToSave = window->size();
+ const bool isMaximized = window->windowState() & Qt::WindowMaximized;
+
+ // Save size only if window is not maximized
+ if (!isMaximized) {
+ const QSize defaultSize(window->property(s_initialSizePropertyName).toSize());
+ const QSize defaultScreenSize(window->property(s_initialScreenSizePropertyName).toSize());
+ const bool sizeValid = defaultSize.isValid() && defaultScreenSize.isValid();
+ if (!sizeValid || (defaultSize != sizeToSave || defaultScreenSize != screen->geometry().size())) {
+ config.writeEntry(windowWidthString(), sizeToSave.width(), options);
+ config.writeEntry(windowHeightString(), sizeToSave.height(), options);
+ // Don't keep the maximized string in the file since the window is
+ // no longer maximized at this point
+ config.deleteEntry(screenMaximizedString());
+ }
+ // Revert width and height to default if they are same as defaults
+ else {
+ config.revertToDefault(windowWidthString());
+ config.revertToDefault(windowHeightString());
+ }
+ }
+ if ((isMaximized == false) && !config.hasDefault(screenMaximizedString())) {
+ config.revertToDefault(screenMaximizedString());
+ } else {
+ config.writeEntry(screenMaximizedString(), isMaximized, options);
+ }
+}
+
+bool KWindowConfig::hasSavedWindowSize(KConfigGroup &config)
+{
+ return config.hasKey(windowWidthString()) || config.hasKey(windowHeightString()) || config.hasKey(screenMaximizedString());
+}
+
+void KWindowConfig::restoreWindowSize(QWindow *window, const KConfigGroup &config)
+{
+ if (!window) {
+ return;
+ }
+
+ const QString screenName = config.readEntry(windowScreenPositionString(), window->screen()->name());
+
+ const int width = config.readEntry(windowWidthString(), -1);
+ const int height = config.readEntry(windowHeightString(), -1);
+ const bool isMaximized = config.readEntry(configFileString(QStringLiteral("Window-Maximized")), false);
+
+ // Check default size
+ const QSize defaultSize(window->property(s_initialSizePropertyName).toSize());
+ const QSize defaultScreenSize(window->property(s_initialScreenSizePropertyName).toSize());
+ if (!defaultSize.isValid() || !defaultScreenSize.isValid()) {
+ const QScreen *screen = findScreenByName(window, screenName);
+ window->setProperty(s_initialSizePropertyName, window->size());
+ window->setProperty(s_initialScreenSizePropertyName, screen->geometry().size());
+ }
+
+ if (width > 0 && height > 0) {
+ window->resize(width, height);
+ }
+
+ if (isMaximized) {
+ window->setWindowState(Qt::WindowMaximized);
+ }
+}
+
+void KWindowConfig::saveWindowPosition(const QWindow *window, KConfigGroup &config, KConfigGroup::WriteConfigFlags options)
+{
+ // On Wayland, the compositor is solely responsible for window positioning,
+ // So this needs to be a no-op
+ if (!window || QGuiApplication::platformName() == QLatin1String{"wayland"}) {
+ return;
+ }
+
+ // If the window is maximized, saving the position will only serve to mis-position
+ // it once de-maximized, so let's not do that
+ if (window->windowState() & Qt::WindowMaximized) {
+ return;
+ }
+
+ config.writeEntry(windowXPositionString(), window->x(), options);
+ config.writeEntry(windowYPositionString(), window->y(), options);
+ config.writeEntry(windowScreenPositionString(), window->screen()->name(), options);
+}
+
+bool KWindowConfig::hasSavedWindowPosition(KConfigGroup &config)
+{
+ // Window position save/restore features outside of the compositor are not
+ // supported on Wayland
+ if (QGuiApplication::platformName() == QLatin1String{"wayland"}) {
+ return false;
+ }
+
+ return config.hasKey(windowXPositionString()) || config.hasKey(windowYPositionString()) || config.hasKey(windowScreenPositionString());
+}
+
+void KWindowConfig::restoreWindowPosition(QWindow *window, const KConfigGroup &config)
+{
+ // On Wayland, the compositor is solely responsible for window positioning,
+ // So this needs to be a no-op
+ if (!window || QGuiApplication::platformName() == QLatin1String{"wayland"}) {
+ return;
+ }
+
+ const bool isMaximized = config.readEntry(configFileString(QStringLiteral("Window-Maximized")), false);
+
+ // Don't need to restore position if the window was maximized
+ if (isMaximized) {
+ window->setWindowState(Qt::WindowMaximized);
+ return;
+ }
+
+ // Move window to proper screen
+ const QScreen *screen = window->screen();
+ const QString screenName = config.readEntry(windowScreenPositionString(), screen->name());
+ if (screenName != screen->name()) {
+ QScreen *screenConf = findScreenByName(window, screenName);
+ window->setScreen(screenConf);
+ restoreWindowScreenPosition(window, screenConf, config);
+ return;
+ }
+ restoreWindowScreenPosition(window, screen, config);
+}
+
+void KWindowConfig::restoreWindowScreenPosition(QWindow *window, const QScreen *screen, const KConfigGroup &config)
+{
+ Q_UNUSED(screen);
+ const int xPos = config.readEntry(windowXPositionString(), -1);
+ const int yPos = config.readEntry(windowYPositionString(), -1);
+
+ if (xPos == -1 || yPos == -1) {
+ return;
+ }
+
+ window->setX(xPos);
+ window->setY(yPos);
+}
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2012 Benjamin Port <benjamin.port@ben2367.fr>
+
+ SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
+*/
+
+#ifndef KWINDOWCONFIG_H
+#define KWINDOWCONFIG_H
+
+#include <kconfiggroup.h>
+#include <kconfiggui_export.h>
+
+class QWindow;
+class QScreen;
+
+/**
+ * Save and load window sizes into a config
+ */
+namespace KWindowConfig
+{
+/**
+ * Saves the window's size dependent on the screen dimension either to the
+ * global or application config file.
+ *
+ * @note the group must be set before calling
+ *
+ * @param window The window to save size.
+ * @param config The config group to read from.
+ * @param options passed to KConfigGroup::writeEntry()
+ * @since 5.0
+ */
+KCONFIGGUI_EXPORT void saveWindowSize(const QWindow *window, KConfigGroup &config, KConfigGroup::WriteConfigFlags options = KConfigGroup::Normal);
+
+/**
+ * Returns whether a given KConfig group has any saved window size data.
+ *
+ * @param config The config group to read from.
+ * @since 6.0
+ */
+KCONFIGGUI_EXPORT bool hasSavedWindowSize(KConfigGroup &config);
+
+/**
+ * Restores the dialog's size from the configuration according to
+ * the screen size.
+ *
+ * If you're calling this from a constructor (for a mainwindow or dialog, for instance)
+ * you should first call winId() so that a QWindow is created, then you can call windowHandle()
+ * to pass to this method.
+ *
+ * Example code:
+ * @code
+ * create(); // ensure there's a window created
+ * const QSize availableSize = windowHandle()->screen()->availableSize();
+ * windowHandle()->resize(availableSize.width() * 0.7, availableSize.height() * 0.5); // default size
+ * KWindowConfig::restoreWindowSize(windowHandle(), KSharedConfig::openConfig()->group("MyDialog"));
+ * resize(windowHandle()->size()); // workaround for QTBUG-40584
+ * @endcode
+ *
+ * @note the group must be set before calling
+ *
+ * @param window The window to restore size.
+ * @param config The config group to read from.
+ * @since 5.0.
+ */
+KCONFIGGUI_EXPORT void restoreWindowSize(QWindow *window, const KConfigGroup &config);
+
+/**
+ * Saves the window's position either to the global or application config file.
+ * This function has no effect on Wayland, where the compositor is responsible
+ * for window positioning.
+ *
+ * @note the group must be set before calling
+ *
+ * @param window The window whose position to save.
+ * @param config The config group to read from.
+ * @param options passed to KConfigGroup::writeEntry()
+ * @since 5.74
+ */
+KCONFIGGUI_EXPORT void saveWindowPosition(const QWindow *window, KConfigGroup &config, KConfigGroup::WriteConfigFlags options = KConfigGroup::Normal);
+
+/**
+ * Returns whether a given KConfig group has any saved window position data.
+ *
+ * @note: always returns false on Wayland where saving and restoring window
+ * position data is not supported.
+ *
+ * @param config The config group to read from.
+ * @since 6.0
+ */
+KCONFIGGUI_EXPORT bool hasSavedWindowPosition(KConfigGroup &config);
+/**
+ * Restores the window's screen position from the configuration and calls restoreWindowScreenPosition.
+ * This function has no effect on Wayland, where the compositor is responsible
+ * for window positioning.
+ *
+ * @note the group must be set before calling
+ *
+ * @param window The window whose position to restore.
+ * @param config The config group to read from.
+ * @since 5.74
+ */
+KCONFIGGUI_EXPORT void restoreWindowPosition(QWindow *window, const KConfigGroup &config);
+
+/**
+ * Restores the window's position on provided screen from the configuration.
+ * This function has no effect on Wayland, where the compositor is responsible
+ * for window positioning.
+ *
+ * @note the group must be set before calling
+ *
+ * @param window The window whose position to restore.
+ * @param screen Screen on which window should be placed.
+ * @param config The config group to read from.
+ * @since 5.99
+ */
+KCONFIGGUI_EXPORT void restoreWindowScreenPosition(QWindow *window, const QScreen *screen, const KConfigGroup &config);
+}
+#endif // KWINDOWCONFIG_H
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2022 Volker Krause <vkrause@kde.org>
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kwindowstatesaver.h"
+#include "ksharedconfig.h"
+#include "kwindowconfig.h"
+
+#include <QWindow>
+
+class KWindowStateSaverPrivate
+{
+public:
+ QWindow *window = nullptr;
+ KConfigGroup configGroup;
+ std::function<QWindow *()> windowHandleCallback;
+ int timerId = 0;
+
+ void init(KWindowStateSaver *q);
+ void initWidget(QObject *widget, KWindowStateSaver *q);
+};
+
+void KWindowStateSaverPrivate::init(KWindowStateSaver *q)
+{
+ if (!window) {
+ return;
+ }
+
+ KWindowConfig::restoreWindowSize(window, configGroup);
+ KWindowConfig::restoreWindowPosition(window, configGroup);
+
+ const auto saveSize = [q, this]() {
+ KWindowConfig::saveWindowSize(window, configGroup);
+ if (!timerId) {
+ timerId = q->startTimer(std::chrono::seconds(30));
+ }
+ };
+ const auto savePosition = [q, this]() {
+ KWindowConfig::saveWindowPosition(window, configGroup);
+ if (!timerId) {
+ timerId = q->startTimer(std::chrono::seconds(30));
+ }
+ };
+
+ QObject::connect(window, &QWindow::widthChanged, q, saveSize);
+ QObject::connect(window, &QWindow::heightChanged, q, saveSize);
+ QObject::connect(window, &QWindow::xChanged, q, savePosition);
+ QObject::connect(window, &QWindow::yChanged, q, savePosition);
+}
+
+void KWindowStateSaverPrivate::initWidget(QObject *widget, KWindowStateSaver *q)
+{
+ if (!window && windowHandleCallback) {
+ window = windowHandleCallback();
+ }
+ if (window) {
+ init(q);
+ } else {
+ widget->installEventFilter(q);
+ }
+}
+
+KWindowStateSaver::KWindowStateSaver(QWindow *window, const KConfigGroup &configGroup)
+ : QObject(window)
+ , d(new KWindowStateSaverPrivate)
+{
+ Q_ASSERT(window);
+ d->window = window;
+ d->configGroup = configGroup;
+ d->init(this);
+}
+
+KWindowStateSaver::KWindowStateSaver(QWindow *window, const QString &configGroupName)
+ : QObject(window)
+ , d(new KWindowStateSaverPrivate)
+{
+ Q_ASSERT(window);
+ d->window = window;
+ d->configGroup = KConfigGroup(KSharedConfig::openStateConfig(), configGroupName);
+ d->init(this);
+}
+
+KWindowStateSaver::~KWindowStateSaver()
+{
+ delete d;
+}
+
+void KWindowStateSaver::timerEvent(QTimerEvent *event)
+{
+ killTimer(event->timerId());
+ d->configGroup.sync();
+ d->timerId = 0;
+}
+
+bool KWindowStateSaver::eventFilter(QObject *watched, QEvent *event)
+{
+ // QEvent::PlatformSurface would give us a valid window, but if there are
+ // intial resizings (explicitly or via layout constraints) those would then
+ // already overwrite our restored values. So wait until all that is done
+ // and only restore afterwards.
+ if (event->type() == QEvent::ShowToParent && !d->window) {
+ watched->removeEventFilter(this);
+ d->window = d->windowHandleCallback();
+ d->init(this);
+ }
+
+ return QObject::eventFilter(watched, event);
+}
+
+void KWindowStateSaver::initWidget(QObject *widget, const std::function<QWindow *()> &windowHandleCallback, const KConfigGroup &configGroup)
+{
+ d = new KWindowStateSaverPrivate;
+ d->windowHandleCallback = windowHandleCallback;
+ d->configGroup = configGroup;
+ d->initWidget(widget, this);
+}
+
+void KWindowStateSaver::initWidget(QObject *widget, const std::function<QWindow *()> &windowHandleCallback, const QString &configGroupName)
+{
+ d = new KWindowStateSaverPrivate;
+ d->windowHandleCallback = windowHandleCallback;
+ d->configGroup = KConfigGroup(KSharedConfig::openStateConfig(), configGroupName);
+ d->initWidget(widget, this);
+}
+
+#include "moc_kwindowstatesaver.cpp"
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2022 Volker Krause <vkrause@kde.org>
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KWINDOWSTATESAVER_H
+#define KWINDOWSTATESAVER_H
+
+#include <kconfiggroup.h>
+#include <kconfiggui_export.h>
+
+#include <QObject>
+
+class QWindow;
+class KWindowStateSaverPrivate;
+
+/**
+ * Saves and restores a window size and (when possible) position.
+ *
+ * This is useful for retrofitting persisting window geometry on existing windows or dialogs,
+ * without having to modify those classes themselves, or having to inherit from them.
+ * For this, create a new instance of KWindowStateSaver for every window that should have it's
+ * state persisted, and pass it the window or widget as well as the config group the state
+ * should be stored in. The KWindowStateSaver will restore an existing state and then monitor
+ * the window for subsequent changes to persist. It will delete itself once the window is
+ * deleted.
+ *
+ * @code
+ * QPrintPreviewDialog dlg = ...
+ * new KWindowStateSaver(&dlg, "printPreviewDialogState");
+ * ...
+ * dlg.exec();
+ * @endcode
+ *
+ * Note that freshly created top-level QWidgets (such as the dialog in the above example)
+ * do not have an associated QWindow yet (ie. windowHandle() return @c nullptr). KWindowStateSaver
+ * supports this with its QWidget constructors which will monitor the widget for having
+ * its associated QWindow created before continuing with that.
+ *
+ * When implementing your own windows/dialogs, using KWindowConfig directly can be an
+ * alternative.
+ *
+ * @see KWindowConfig
+ * @since 5.92
+ */
+class KCONFIGGUI_EXPORT KWindowStateSaver : public QObject
+{
+ Q_OBJECT
+public:
+ /**
+ * Create a new window state saver for @p window.
+ * @param configGroup A KConfigGroup that holds the window state.
+ */
+ explicit KWindowStateSaver(QWindow *window, const KConfigGroup &configGroup);
+ /**
+ * Create a new window state saver for @p window.
+ * @param configGroupName The name of a KConfigGroup in the default state
+ * configuration (see KSharedConfig::openStateConfig) that holds the window state.
+ */
+ explicit KWindowStateSaver(QWindow *window, const QString &configGroupName);
+
+ /**
+ * Create a new window state saver for @p widget.
+ * Use this for widgets that aren't shown yet and would still return @c nullptr from windowHandle().
+ * @param configGroup A KConfigGroup that holds the window state.
+ */
+ template<typename Widget>
+ explicit inline KWindowStateSaver(Widget *widget, const KConfigGroup &configGroup);
+ /**
+ * Create a new window state saver for @p widget.
+ * Use this for widgets that aren't shown yet and would still return @c nullptr from windowHandle().
+ * @param configGroupName The name of a KConfigGroup in the default state
+ * configuration (see KSharedConfig::openStateConfig) that holds the window state.
+ */
+ template<typename Widget>
+ explicit inline KWindowStateSaver(Widget *widget, const QString &configGroupName);
+
+ ~KWindowStateSaver();
+
+private:
+ void timerEvent(QTimerEvent *event) override;
+ bool eventFilter(QObject *watched, QEvent *event) override;
+
+ // API used by template code, so technically part of the ABI
+ void initWidget(QObject *widget, const std::function<QWindow *()> &windowHandleCallback, const KConfigGroup &configGroup);
+ void initWidget(QObject *widget, const std::function<QWindow *()> &windowHandleCallback, const QString &configGroupName);
+
+ // cannot use std::unique_ptr due to the template ctors
+ // not seeing the full private class
+ KWindowStateSaverPrivate *d = nullptr;
+};
+
+template<typename Widget>
+KWindowStateSaver::KWindowStateSaver(Widget *widget, const KConfigGroup &configGroup)
+ : QObject(widget)
+{
+ initWidget(
+ widget,
+ [widget]() {
+ return widget->windowHandle();
+ },
+ configGroup);
+}
+
+template<typename Widget>
+KWindowStateSaver::KWindowStateSaver(Widget *widget, const QString &configGroupName)
+ : QObject(widget)
+{
+ initWidget(
+ widget,
+ [widget]() {
+ return widget->windowHandle();
+ },
+ configGroupName);
+}
+
+#endif // KWINDOWSTATESAVER_H
--- /dev/null
+add_executable(kconf_update kconf_update.cpp)
+add_executable(KF6::kconf_update ALIAS kconf_update)
+
+target_compile_definitions(kconf_update PRIVATE -DCMAKE_INSTALL_FULL_LIBDIR="${CMAKE_INSTALL_FULL_LIBDIR}")
+ecm_qt_declare_logging_category(kconf_update
+ HEADER kconf_update_debug.h
+ IDENTIFIER KCONF_UPDATE_LOG
+ CATEGORY_NAME kf.config.kconf_update
+ OLD_CATEGORY_NAMES kf5.kconfig.update
+ DESCRIPTION "kconf_update"
+ EXPORT KCONFIG
+)
+
+target_link_libraries(kconf_update Qt6::Core KF6::ConfigCore)
+include(ECMMarkNonGuiExecutable)
+ecm_mark_nongui_executable(kconf_update)
+
+# Although this is mostly an internal binary (hence installing it in
+# KF6_LIBEXEC_INSTALL_DIR), it is used by kded, and so we export its location
+install(TARGETS kconf_update EXPORT KF6ConfigCompilerTargets DESTINATION ${KDE_INSTALL_LIBEXECDIR_KF})
--- /dev/null
+/** @mainpage ./kconf_update
+
+kconf_update is a tool designed to update config files. Over time applications
+sometimes need to rearrange the way configuration options are stored. Since
+such an update shouldn't influence the configuration options that the user
+has selected, the application must take care that the options stored in the
+old way will still be honored.
+
+What used to happen is that the application looks up both the old and the
+new configuration option and then decides which one to use. This method has
+several drawbacks:
+- The application may need to read more configuration files than strictly
+ needed, resulting in a slower startup.
+- The application becomes bigger with code that will only be used once.
+
+kconf_update addresses these problems by offering a framework to update
+configuration files without adding code to the application itself.
+
+See the <a href="https://commits.kde.org/kconfig?path=src/kconf_update/README.kconf_update">README file</a> for more information.
+
+@authors
+Waldo Bastian \<bastian@kde.org\>
+
+@maintainers
+[Unknown/None]
+
+@licenses
+@lgpl
+
+*/
+// vim:ts=4:sw=4:expandtab:filetype=doxygen
--- /dev/null
+https://techbase.kde.org/Development/Tools/Using_kconf_update
--- /dev/null
+/*
+ This file is part of the KDE libraries
+ SPDX-FileCopyrightText: 2001 Waldo Bastian <bastian@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-only
+*/
+
+#include "kconfig_version.h"
+#include <cstdlib>
+
+#include <QCoreApplication>
+#include <QDate>
+#include <QDebug>
+#include <QDir>
+#include <QFile>
+#include <QProcess>
+#include <QTemporaryFile>
+#include <QTextStream>
+#include <QUrl>
+
+#include <kconfig.h>
+#include <kconfiggroup.h>
+
+#include <QCommandLineOption>
+#include <QCommandLineParser>
+#include <QStandardPaths>
+
+#include "kconf_update_debug.h"
+
+// Convenience wrapper around qCDebug to prefix the output with metadata of
+// the file.
+#define qCDebugFile(CATEGORY) qCDebug(CATEGORY) << m_currentFilename << ':' << m_lineCount << ":'" << m_line << "': "
+
+class KonfUpdate
+{
+public:
+ KonfUpdate(QCommandLineParser *parser);
+ ~KonfUpdate();
+
+ KonfUpdate(const KonfUpdate &) = delete;
+ KonfUpdate &operator=(const KonfUpdate &) = delete;
+
+ QStringList findUpdateFiles(bool dirtyOnly);
+
+ bool updateFile(const QString &filename);
+
+ void gotId(const QString &_id);
+ void gotScript(const QString &_script);
+
+protected:
+ /** kconf_updaterc */
+ KConfig *m_config;
+ QString m_currentFilename;
+ bool m_skip = false;
+ bool m_bTestMode;
+ bool m_bDebugOutput;
+ QString m_id;
+
+ bool m_bUseConfigInfo = false;
+ QStringList m_arguments;
+ QTextStream *m_textStream;
+ QFile *m_file;
+ QString m_line;
+ int m_lineCount;
+};
+
+KonfUpdate::KonfUpdate(QCommandLineParser *parser)
+ : m_textStream(nullptr)
+ , m_file(nullptr)
+ , m_lineCount(-1)
+{
+ bool updateAll = false;
+
+ m_config = new KConfig(QStringLiteral("kconf_updaterc"));
+ KConfigGroup cg(m_config, QString());
+
+ QStringList updateFiles;
+
+ m_bDebugOutput = parser->isSet(QStringLiteral("debug"));
+ if (m_bDebugOutput) {
+ // The only way to enable debug reliably is through a filter rule.
+ // The category itself is const, so we can't just go around changing
+ // its mode. This can however be overridden by the environment, so
+ // we'll want to have a fallback warning if debug is not enabled
+ // after setting the filter.
+ QLoggingCategory::setFilterRules(QLatin1String("%1.debug=true").arg(QLatin1String{KCONF_UPDATE_LOG().categoryName()}));
+ qDebug() << "Automatically enabled the debug logging category" << KCONF_UPDATE_LOG().categoryName();
+ if (!KCONF_UPDATE_LOG().isDebugEnabled()) {
+ qWarning("The debug logging category %s needs to be enabled manually to get debug output", KCONF_UPDATE_LOG().categoryName());
+ }
+ }
+
+ m_bTestMode = parser->isSet(QStringLiteral("testmode"));
+ if (m_bTestMode) {
+ QStandardPaths::setTestModeEnabled(true);
+ }
+
+ if (parser->isSet(QStringLiteral("check"))) {
+ m_bUseConfigInfo = true;
+ const QString file =
+ QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1String{"kconf_update/"} + parser->value(QStringLiteral("check")));
+ if (file.isEmpty()) {
+ qWarning("File '%s' not found.", parser->value(QStringLiteral("check")).toLocal8Bit().data());
+ qCDebug(KCONF_UPDATE_LOG) << "File" << parser->value(QStringLiteral("check")) << "passed on command line not found";
+ return;
+ }
+ updateFiles.append(file);
+ } else if (!parser->positionalArguments().isEmpty()) {
+ updateFiles += parser->positionalArguments();
+ } else if (m_bTestMode) {
+ qWarning("Test mode enabled, but no files given.");
+ return;
+ } else {
+ if (cg.readEntry("autoUpdateDisabled", false)) {
+ return;
+ }
+ updateFiles = findUpdateFiles(true);
+ updateAll = true;
+ }
+
+ for (const QString &file : std::as_const(updateFiles)) {
+ updateFile(file);
+ }
+
+ if (updateAll && !cg.readEntry("updateInfoAdded", false)) {
+ cg.writeEntry("updateInfoAdded", true);
+ updateFiles = findUpdateFiles(false);
+ }
+}
+
+KonfUpdate::~KonfUpdate()
+{
+ delete m_config;
+ delete m_file;
+ delete m_textStream;
+}
+
+QStringList KonfUpdate::findUpdateFiles(bool dirtyOnly)
+{
+ QStringList result;
+
+ const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("kconf_update"), QStandardPaths::LocateDirectory);
+ for (const QString &d : dirs) {
+ const QDir dir(d);
+
+ const QStringList fileNames = dir.entryList(QStringList(QStringLiteral("*.upd")));
+ for (const QString &fileName : fileNames) {
+ const QString file = dir.filePath(fileName);
+ QFileInfo info(file);
+
+ KConfigGroup cg(m_config, fileName);
+ const qint64 ctime = cg.readEntry("ctime", 0);
+ const qint64 mtime = cg.readEntry("mtime", 0);
+ const QString done = cg.readEntry("done", QString());
+ if (!dirtyOnly //
+ || (ctime != 0 && ctime != info.birthTime().toSecsSinceEpoch()) //
+ || mtime != info.lastModified().toSecsSinceEpoch() //
+ || (mtime != 0 && done.isEmpty())) {
+ result.append(file);
+ }
+ }
+ }
+ return result;
+}
+
+/**
+ * Syntax:
+ * # Comment
+ * Id=id
+ * ScriptArguments=arguments
+ * Script=scriptfile[,interpreter]
+ **/
+bool KonfUpdate::updateFile(const QString &filename)
+{
+ m_currentFilename = filename;
+ const int i = m_currentFilename.lastIndexOf(QLatin1Char{'/'});
+ if (i != -1) {
+ m_currentFilename = m_currentFilename.mid(i + 1);
+ }
+ QFile file(filename);
+ if (!file.open(QIODevice::ReadOnly)) {
+ qWarning("Could not open update-file '%s'.", qUtf8Printable(filename));
+ return false;
+ }
+
+ qCDebug(KCONF_UPDATE_LOG) << "Checking update-file" << filename << "for new updates";
+
+ QTextStream ts(&file);
+ ts.setEncoding(QStringConverter::Encoding::Latin1);
+ m_lineCount = 0;
+ bool foundVersion = false;
+ while (!ts.atEnd()) {
+ m_line = ts.readLine().trimmed();
+ const QLatin1String versionPrefix("Version=");
+ if (m_line.startsWith(versionPrefix)) {
+ if (m_line.mid(versionPrefix.length()) == QLatin1Char('6')) {
+ foundVersion = true;
+ continue;
+ } else {
+ qWarning(KCONF_UPDATE_LOG).noquote() << filename << "defined" << m_line << "but Version=6 was expected";
+ return false;
+ }
+ }
+ ++m_lineCount;
+ if (m_line.isEmpty() || (m_line[0] == QLatin1Char('#'))) {
+ continue;
+ }
+ if (m_line.startsWith(QLatin1String("Id="))) {
+ if (!foundVersion) {
+ qCDebug(KCONF_UPDATE_LOG, "Missing 'Version=6', file '%s' will be skipped.", qUtf8Printable(filename));
+ break;
+ }
+ gotId(m_line.mid(3));
+ } else if (m_skip) {
+ continue;
+ } else if (m_line.startsWith(QLatin1String("Script="))) {
+ gotScript(m_line.mid(7));
+ m_arguments.clear();
+ } else if (m_line.startsWith(QLatin1String("ScriptArguments="))) {
+ const QString argLine = m_line.mid(16);
+ m_arguments = QProcess::splitCommand(argLine);
+ } else {
+ qCDebugFile(KCONF_UPDATE_LOG) << "Parse error";
+ }
+ }
+ // Flush.
+ gotId(QString());
+
+ // Remember that this file was updated:
+ if (!m_bTestMode) {
+ QFileInfo info(filename);
+ KConfigGroup cg(m_config, m_currentFilename);
+ if (info.birthTime().isValid()) {
+ cg.writeEntry("ctime", info.birthTime().toSecsSinceEpoch());
+ }
+ cg.writeEntry("mtime", info.lastModified().toSecsSinceEpoch());
+ cg.sync();
+ }
+
+ return true;
+}
+
+void KonfUpdate::gotId(const QString &_id)
+{
+ // Remember that the last update group has been done:
+ if (!m_id.isEmpty() && !m_skip && !m_bTestMode) {
+ KConfigGroup cg(m_config, m_currentFilename);
+
+ QStringList ids = cg.readEntry("done", QStringList());
+ if (!ids.contains(m_id)) {
+ ids.append(m_id);
+ cg.writeEntry("done", ids);
+ cg.sync();
+ }
+ }
+
+ if (_id.isEmpty()) {
+ return;
+ }
+
+ // Check whether this update group needs to be done:
+ KConfigGroup cg(m_config, m_currentFilename);
+ QStringList ids = cg.readEntry("done", QStringList());
+ if (ids.contains(_id) && !m_bUseConfigInfo) {
+ // qDebug("Id '%s' was already in done-list", _id.toLatin1().constData());
+ m_skip = true;
+ return;
+ }
+ m_skip = false;
+ m_id = _id;
+ if (m_bUseConfigInfo) {
+ qCDebug(KCONF_UPDATE_LOG) << m_currentFilename << ": Checking update" << _id;
+ } else {
+ qCDebug(KCONF_UPDATE_LOG) << m_currentFilename << ": Found new update" << _id;
+ }
+}
+
+void KonfUpdate::gotScript(const QString &_script)
+{
+ QString script;
+ QString interpreter;
+ const int i = _script.indexOf(QLatin1Char{','});
+ if (i == -1) {
+ script = _script.trimmed();
+ } else {
+ script = _script.left(i).trimmed();
+ interpreter = _script.mid(i + 1).trimmed();
+ }
+
+ if (script.isEmpty()) {
+ qCDebugFile(KCONF_UPDATE_LOG) << "Script fails to specify filename";
+ m_skip = true;
+ return;
+ }
+
+ QString path = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1String("kconf_update/") + script);
+ if (path.isEmpty()) {
+ if (interpreter.isEmpty()) {
+ path = QStringLiteral("%1/kconf_update_bin/%2").arg(QStringLiteral(CMAKE_INSTALL_FULL_LIBDIR), script);
+ if (!QFile::exists(path)) {
+ path = QStandardPaths::findExecutable(script);
+ }
+ }
+
+ if (path.isEmpty()) {
+ qCDebugFile(KCONF_UPDATE_LOG) << "Script" << script << "not found";
+ m_skip = true;
+ return;
+ }
+ }
+
+ if (!m_arguments.isEmpty()) {
+ qCDebug(KCONF_UPDATE_LOG) << m_currentFilename << ": Running script" << script << "with arguments" << m_arguments;
+ } else {
+ qCDebug(KCONF_UPDATE_LOG) << m_currentFilename << ": Running script" << script;
+ }
+
+ QStringList args;
+ QString cmd;
+ if (interpreter.isEmpty()) {
+ cmd = path;
+ } else {
+ QString interpreterPath = QStandardPaths::findExecutable(interpreter);
+ if (interpreterPath.isEmpty()) {
+ qCDebugFile(KCONF_UPDATE_LOG) << "Cannot find interpreter" << interpreter;
+ m_skip = true;
+ return;
+ }
+ cmd = interpreterPath;
+ args << path;
+ }
+
+ args += m_arguments;
+
+ int result;
+ qCDebug(KCONF_UPDATE_LOG) << "About to run" << cmd;
+ if (m_bDebugOutput) {
+ QFile scriptFile(path);
+ if (scriptFile.open(QIODevice::ReadOnly)) {
+ qCDebug(KCONF_UPDATE_LOG) << "Script contents is:\n" << scriptFile.readAll();
+ }
+ }
+ QProcess proc;
+ proc.start(cmd, args);
+ if (!proc.waitForFinished(60000)) {
+ qCDebugFile(KCONF_UPDATE_LOG) << "update script did not terminate within 60 seconds:" << cmd;
+ m_skip = true;
+ return;
+ }
+ result = proc.exitCode();
+ proc.close();
+
+ if (result != EXIT_SUCCESS) {
+ qCDebug(KCONF_UPDATE_LOG) << m_currentFilename << ": !! An error occurred while running" << cmd;
+ return;
+ }
+
+ qCDebug(KCONF_UPDATE_LOG) << "Successfully ran" << cmd;
+}
+
+int main(int argc, char **argv)
+{
+ QCoreApplication app(argc, argv);
+ app.setApplicationVersion(QStringLiteral(KCONFIG_VERSION_STRING));
+
+ QCommandLineParser parser;
+ parser.addVersionOption();
+ parser.setApplicationDescription(QCoreApplication::translate("main", "KDE Tool for updating user configuration files"));
+ parser.addHelpOption();
+ parser.addOption(QCommandLineOption(QStringList{QStringLiteral("debug")}, QCoreApplication::translate("main", "Keep output results from scripts")));
+ parser.addOption(QCommandLineOption(
+ QStringList{QStringLiteral("testmode")},
+ QCoreApplication::translate("main", "For unit tests only: do not write the done entries, so that with every re-run, the scripts are executed again")));
+ parser.addOption(QCommandLineOption(QStringList{QStringLiteral("check")},
+ QCoreApplication::translate("main", "Check whether config file itself requires updating"),
+ QStringLiteral("update-file")));
+ parser.addPositionalArgument(QStringLiteral("files"),
+ QCoreApplication::translate("main", "File(s) to read update instructions from"),
+ QStringLiteral("[files...]"));
+
+ // TODO aboutData.addAuthor(ki18n("Waldo Bastian"), KLocalizedString(), "bastian@kde.org");
+
+ parser.process(app);
+ KonfUpdate konfUpdate(&parser);
+
+ return 0;
+}
--- /dev/null
+add_executable(kconfig_compiler)
+
+if(CMAKE_CROSSCOMPILING)
+ if(BUILD_TESTING)
+ message(WARNING "Testing should be disabled on cross-compilation")
+ endif()
+else()
+ add_executable(KF6::kconfig_compiler ALIAS kconfig_compiler)
+endif()
+
+target_sources(kconfig_compiler PRIVATE
+ KConfigParameters.cpp
+ KConfigCodeGeneratorBase.cpp
+ KConfigHeaderGenerator.cpp
+ KConfigSourceGenerator.cpp
+ KConfigXmlParser.cpp
+ kconfig_compiler.cpp
+)
+
+set_target_properties(kconfig_compiler PROPERTIES
+ OUTPUT_NAME "kconfig_compiler_kf6"
+)
+
+target_link_libraries(kconfig_compiler Qt6::Xml)
+
+ecm_mark_nongui_executable(kconfig_compiler)
+
+install(TARGETS kconfig_compiler EXPORT KF6ConfigCompilerTargets DESTINATION ${KDE_INSTALL_LIBEXECDIR_KF})
--- /dev/null
+/*
+ This file is part of the KDE libraries.
+
+ SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+ SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+ SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
+ SPDX-FileCopyrightText: 2006 Michaël Larouche <michael.larouche@kdemail.net>
+ SPDX-FileCopyrightText: 2008 Allen Winter <winter@kde.org>
+ SPDX-FileCopyrightText: 2020 Tomaz Cananbrava <tcanabrava@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "KConfigCodeGeneratorBase.h"
+
+#include <QFileInfo>
+#include <QLatin1Char>
+
+#include <QDebug>
+#include <ostream>
+
+#include <iostream>
+
+KConfigCodeGeneratorBase::KConfigCodeGeneratorBase(const QString &inputFile,
+ const QString &baseDir,
+ const QString &fileName,
+ const KConfigParameters ¶meters,
+ ParseResult &parseResult)
+ : parseResult(parseResult)
+ , m_inputFile(inputFile)
+ , m_baseDir(baseDir)
+ , m_fileName(fileName)
+ , m_cfg(parameters)
+{
+ m_file.setFileName(m_fileName);
+ if (!m_file.open(QIODevice::WriteOnly)) {
+ std::cerr << "Can not open '" << qPrintable(m_fileName) << "for writing." << std::endl;
+ exit(1);
+ }
+ m_stream.setDevice(&m_file);
+
+ if (m_cfg.staticAccessors) {
+ m_this = QStringLiteral("self()->");
+ } else {
+ m_const = QStringLiteral(" const");
+ }
+}
+
+KConfigCodeGeneratorBase::~KConfigCodeGeneratorBase()
+{
+ save();
+}
+
+void KConfigCodeGeneratorBase::save()
+{
+ m_file.close();
+}
+
+// TODO: Remove this weird logic and adapt the testcases
+void KConfigCodeGeneratorBase::indent()
+{
+ if (m_indentLevel >= 4) {
+ m_indentLevel += 2;
+ } else {
+ m_indentLevel += 4;
+ }
+}
+
+void KConfigCodeGeneratorBase::unindent()
+{
+ if (m_indentLevel > 4) {
+ m_indentLevel -= 2;
+ } else {
+ m_indentLevel -= 4;
+ }
+}
+
+QString KConfigCodeGeneratorBase::whitespace() const
+{
+ QString spaces;
+ for (int i = 0; i < m_indentLevel; i++) {
+ spaces.append(QLatin1Char(' '));
+ }
+ return spaces;
+}
+
+void KConfigCodeGeneratorBase::startScope()
+{
+ m_stream << whitespace() << QLatin1Char('{');
+ m_stream << '\n';
+ indent();
+}
+
+void KConfigCodeGeneratorBase::endScope(ScopeFinalizer finalizer)
+{
+ unindent();
+ m_stream << whitespace() << QLatin1Char('}');
+ if (finalizer == ScopeFinalizer::Semicolon) {
+ m_stream << ';';
+ }
+ m_stream << '\n';
+}
+
+void KConfigCodeGeneratorBase::start()
+{
+ const QString m_fileName = QFileInfo(m_inputFile).fileName();
+ m_stream << "// This file is generated by kconfig_compiler_kf6 from " << m_fileName << ".kcfg"
+ << ".\n";
+ m_stream << "// All changes you do to this file will be lost.\n";
+}
+
+void KConfigCodeGeneratorBase::addHeaders(const QStringList &headerList)
+{
+ for (const auto &include : headerList) {
+ if (include.startsWith(QLatin1Char('"'))) {
+ m_stream << "#include " << include << '\n';
+ } else {
+ m_stream << "#include <" << include << ">\n";
+ }
+ }
+}
+
+// adds as many 'namespace foo {' lines to p_out as
+// there are namespaces in p_ns
+void KConfigCodeGeneratorBase::beginNamespaces()
+{
+ if (!m_cfg.nameSpace.isEmpty()) {
+ const auto nameSpaceList = m_cfg.nameSpace.split(QStringLiteral("::"));
+ for (const QString &ns : nameSpaceList) {
+ m_stream << "namespace " << ns << " {\n";
+ }
+ m_stream << '\n';
+ }
+}
+
+// adds as many '}' lines to p_out as
+// there are namespaces in p_ns
+void KConfigCodeGeneratorBase::endNamespaces()
+{
+ if (!m_cfg.nameSpace.isEmpty()) {
+ m_stream << '\n';
+ const int namespaceCount = m_cfg.nameSpace.count(QStringLiteral("::")) + 1;
+ for (int i = 0; i < namespaceCount; ++i) {
+ m_stream << "}\n";
+ }
+ }
+}
+
+// returns the member accessor implementation
+// which should go in the h file if inline
+// or the cpp file if not inline
+QString KConfigCodeGeneratorBase::memberAccessorBody(const CfgEntry *e, bool globalEnums) const
+{
+ QString result;
+ QTextStream out(&result, QIODevice::WriteOnly);
+ QString n = e->name;
+ QString t = e->type;
+ bool useEnumType = m_cfg.useEnumTypes && t == QLatin1String("Enum");
+
+ out << "return ";
+ if (useEnumType) {
+ out << "static_cast<" << enumType(e, globalEnums) << ">(";
+ }
+ out << m_this << varPath(n, m_cfg);
+ if (!e->param.isEmpty()) {
+ out << "[i]";
+ }
+ if (useEnumType) {
+ out << ")";
+ }
+ out << ";\n";
+
+ return result;
+}
+
+void KConfigCodeGeneratorBase::memberImmutableBody(const CfgEntry *e, bool globalEnums)
+{
+ stream() << whitespace() << "return " << m_this << "isImmutable( QStringLiteral( \"";
+ if (!e->param.isEmpty()) {
+ stream() << QString(e->paramName).replace(QLatin1String("$(%1)").arg(e->param), QLatin1String("%1")) << "\" ).arg( ";
+ if (e->paramType == QLatin1String("Enum")) {
+ stream() << "QLatin1String( ";
+
+ if (globalEnums) {
+ stream() << enumName(e->param) << "ToString[i]";
+ } else {
+ stream() << enumName(e->param) << "::enumToString[i]";
+ }
+
+ stream() << " )";
+ } else {
+ stream() << "i";
+ }
+ stream() << " )";
+ } else {
+ stream() << e->name << "\" )";
+ }
+ stream() << " );\n";
+}
+
+void KConfigCodeGeneratorBase::createIfSetLogic(const CfgEntry *e, const QString &varExpression)
+{
+ const bool hasBody = !e->signalList.empty() || m_cfg.generateProperties;
+
+ m_stream << whitespace() << "if (";
+ if (hasBody) {
+ m_stream << "v != " << varExpression << " && ";
+ }
+
+ const auto immutablefunction = immutableFunction(e->name, m_cfg.dpointer ? m_cfg.className : QString{});
+ m_stream << "!" << m_this << immutablefunction << "(";
+ if (!e->param.isEmpty()) {
+ m_stream << " i ";
+ }
+ m_stream << "))";
+}
+
+void KConfigCodeGeneratorBase::memberMutatorBody(const CfgEntry *e)
+{
+ // HACK: Don't open '{' manually, use startScope / endScope to automatically handle whitespace indentation.
+ if (!e->min.isEmpty()) {
+ if (e->min != QLatin1String("0") || !isUnsigned(e->type)) { // skip writing "if uint<0" (#187579)
+ m_stream << whitespace() << "if (v < " << e->min << ")\n";
+ m_stream << whitespace() << "{\n";
+ m_stream << whitespace();
+ addDebugMethod(m_stream, m_cfg, e->name);
+ m_stream << ": value \" << v << \" is less than the minimum value of " << e->min << "\";\n";
+ m_stream << whitespace() << " v = " << e->min << ";\n";
+ m_stream << whitespace() << "}\n";
+ }
+ }
+
+ if (!e->max.isEmpty()) {
+ m_stream << '\n';
+ m_stream << whitespace() << "if (v > " << e->max << ")\n";
+ m_stream << whitespace() << "{\n";
+ m_stream << whitespace();
+ addDebugMethod(m_stream, m_cfg, e->name);
+ m_stream << ": value \" << v << \" is greater than the maximum value of " << e->max << "\";\n";
+ m_stream << whitespace() << " v = " << e->max << ";\n";
+ m_stream << whitespace() << "}\n\n";
+ }
+
+ const QString varExpression = m_this + varPath(e->name, m_cfg) + (e->param.isEmpty() ? QString{} : QStringLiteral("[i]"));
+
+ // TODO: Remove this `hasBody` logic, always use an '{' for the if.
+ const bool hasBody = !e->signalList.empty() || m_cfg.generateProperties;
+
+ // m_this call creates an `if (someTest ...) that's just to long to throw over the code.
+ createIfSetLogic(e, varExpression);
+ m_stream << (hasBody ? " {" : "") << '\n';
+ m_stream << whitespace() << " " << varExpression << " = v;\n";
+
+ const auto listSignal = e->signalList;
+ for (const Signal &signal : std::as_const(listSignal)) {
+ if (signal.modify) {
+ m_stream << whitespace() << " Q_EMIT " << m_this << signal.name << "();\n";
+ } else {
+ m_stream << whitespace() << " " << m_this << varPath(QStringLiteral("settingsChanged"), m_cfg) << ".insert(" << signalEnumName(signal.name) << ");\n";
+ }
+ }
+ if (hasBody) {
+ m_stream << whitespace() << "}\n";
+ }
+}
--- /dev/null
+/*
+ This file is part of KDE.
+
+ SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+ SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+ SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
+ SPDX-FileCopyrightText: 2006 Michaël Larouche <michael.larouche@kdemail.net>
+ SPDX-FileCopyrightText: 2008 Allen Winter <winter@kde.org>
+ SPDX-FileCopyrightText: 2020 Tomaz Cananbrava <tcanabrava@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGCODEGENERATORBASE_H
+#define KCONFIGCODEGENERATORBASE_H
+
+#include <QFile>
+#include <QList>
+#include <QString>
+#include <QTextStream>
+
+#include "KConfigCommonStructs.h"
+#include "KConfigParameters.h"
+
+class CfgEntry;
+struct ParseResult;
+
+/* This class manages the base of writing a C - Based code */
+class KConfigCodeGeneratorBase
+{
+public:
+ enum ScopeFinalizer {
+ None,
+ Semicolon,
+ };
+
+ KConfigCodeGeneratorBase(const QString &inputFileName, // The kcfg file
+ const QString &baseDir, // where we should store the generated file
+ const QString &fileName, // the name of the generated file
+ const KConfigParameters ¶meters, // parameters passed to the generator
+ ParseResult &parseResult // The pre processed configuration entries
+ );
+ virtual ~KConfigCodeGeneratorBase();
+
+ // iterates over the header list adding an #include directive.
+ void addHeaders(const QStringList &header);
+
+ // Create all the namespace indentation levels based on the parsed result and parameters */
+ void beginNamespaces();
+
+ // Closes all the namespaces adding lines with single '}'
+ void endNamespaces();
+
+ // Add the correct amount of whitespace in the code.
+ QString whitespace() const;
+
+ // start a block scope `{` and increase indentation level.
+ void endScope(ScopeFinalizer finalizer = None);
+
+ // end a block scope `}` and decrease indentation level.
+ void startScope();
+
+ // start writing to the output file
+ virtual void start();
+
+ // save the result on the disk
+ void save();
+
+ // Code Implementations
+ // Implements the `Get` methods for the CfgEntry
+ // TODO: write to the stream directly without returning a QString.
+ QString memberAccessorBody(const CfgEntry *e, bool globalEnums) const;
+
+ // Implements the is<Param>Immutable for the CfgEntry
+ void memberImmutableBody(const CfgEntry *e, bool globalEnums);
+
+ // Implements the `Set` methods for the CfgEntry
+ void memberMutatorBody(const CfgEntry *e);
+
+ // This is the code that creates the logic for the Setter / Mutator.
+ // It *just* creates the if test, no body. The reason is that just
+ // the if test was more than 20 lines of code and hard to understand
+ // what was happening in a bigger function.
+ void createIfSetLogic(const CfgEntry *e, const QString &varExpression);
+
+protected:
+ /* advance the number of spaces for the indentation level */
+ void indent();
+
+ /* reduce the number of spaces for the indentation level */
+ void unindent();
+
+ QString inputFile() const
+ {
+ return m_inputFile;
+ }
+ QString fileName() const
+ {
+ return m_fileName;
+ }
+ QString baseDir() const
+ {
+ return m_baseDir;
+ }
+ QString This() const
+ {
+ return m_this;
+ }
+ QString Const() const
+ {
+ return m_const;
+ }
+ KConfigParameters cfg() const
+ {
+ return m_cfg;
+ }
+
+ // Can't be const.
+ QTextStream &stream()
+ {
+ return m_stream;
+ }
+
+ // HACK: This needs to be accessible because the HeaderGenerator actually modifies
+ // it while running. Considering that this is a the result of the xml Parse, and not
+ // the result of generating code, I consider this to be quite wrong - but moving the
+ // changes away from the header generator only created more problems and I have to
+ // investigate more.
+ ParseResult &parseResult; // the result of the parsed kcfg file
+
+private:
+ QString m_inputFile; // the base file name, input file is based on this.
+
+ QString m_baseDir; // Where we are going to save the file
+ QString m_fileName; // The file name
+
+ KConfigParameters m_cfg; // The parameters passed via the kcfgc file
+ QTextStream m_stream; // the stream that operates in the file to write data.
+ QFile m_file; // The file handler.
+
+ // Special access to `this->` and `const` thru the code.
+ QString m_this;
+ QString m_const;
+ int m_indentLevel = 0;
+};
+
+#endif
--- /dev/null
+/*
+ This file is part of the KDE libraries.
+
+ SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+ SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+ SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
+ SPDX-FileCopyrightText: 2006 Michaël Larouche <michael.larouche@kdemail.net>
+ SPDX-FileCopyrightText: 2008 Allen Winter <winter@kde.org>
+ SPDX-FileCopyrightText: 2020 Tomaz Cananbrava <tcanabrava@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGCOMMONSTRUCTS_H
+#define KCONFIGCOMMONSTRUCTS_H
+
+#include <QList>
+#include <QString>
+
+#include "KConfigParameters.h"
+
+struct Param {
+ QString name;
+ QString type;
+};
+
+struct Signal {
+ QString name;
+ QString label;
+ QList<Param> arguments;
+ bool modify = false;
+};
+
+class CfgEntry
+{
+public:
+ struct Choice {
+ QString name;
+ QString context;
+ QString label;
+ QString toolTip;
+ QString whatsThis;
+ QString val;
+
+ QString value() const
+ {
+ return !val.isEmpty() ? val : name;
+ }
+ };
+ class Choices
+ {
+ public:
+ Choices()
+ {
+ }
+ Choices(const QList<Choice> &d, const QString &n, const QString &p)
+ : prefix(p)
+ , choices(d)
+ , mName(n)
+ {
+ int i = n.indexOf(QLatin1String("::"));
+ if (i >= 0) {
+ mExternalQual = n.left(i + 2);
+ }
+ }
+ QString prefix;
+ QList<Choice> choices;
+ const QString &name() const
+ {
+ return mName;
+ }
+ const QString &externalQualifier() const
+ {
+ return mExternalQual;
+ }
+ bool external() const
+ {
+ return !mExternalQual.isEmpty();
+ }
+
+ private:
+ QString mName;
+ QString mExternalQual;
+ };
+
+public:
+ QString group;
+ QString parentGroup;
+ QString type;
+ QString key;
+ QString name;
+ QString labelContext;
+ QString label;
+ QString toolTipContext;
+ QString toolTip;
+ QString whatsThisContext;
+ QString whatsThis;
+ QString code;
+ QString defaultValue;
+ QString param;
+ QString paramName;
+ QString paramType;
+ Choices choices;
+ QList<Signal> signalList;
+ QStringList paramValues;
+ QStringList paramDefaultValues;
+ int paramMax;
+ bool hidden;
+ QString min;
+ QString max;
+};
+
+struct ParseResult {
+ QString cfgFileName;
+ bool cfgFileNameArg = false;
+ bool cfgStateConfig = false;
+ QList<Param> parameters;
+ QList<Signal> signalList;
+ QStringList includes;
+ QList<CfgEntry *> entries;
+ bool hasNonModifySignals = false;
+};
+
+// TODO: Move those methods
+QString enumName(const QString &n);
+QString enumName(const QString &n, const CfgEntry::Choices &c);
+QString param(const QString &t);
+QString cppType(const QString &t);
+QString itemType(const QString &type);
+QString changeSignalName(const QString &n);
+
+QString enumType(const CfgEntry *e, bool globalEnums);
+
+QString getDefaultFunction(const QString &n, const QString &className = QString());
+QString setFunction(const QString &n, const QString &className = QString());
+QString getFunction(const QString &n, const QString &className = QString());
+QString immutableFunction(const QString &n, const QString &className = QString());
+
+QString itemAccessorBody(const CfgEntry *e, const KConfigParameters &cfg);
+QString signalEnumName(const QString &signalName);
+
+bool isUnsigned(const QString &type);
+
+// returns the name of an member variable
+// use itemPath to know the full path
+// like using d-> in case of dpointer
+QString varName(const QString &n, const KConfigParameters &cfg);
+
+QString varPath(const QString &n, const KConfigParameters &cfg);
+
+// returns the name of an item variable
+// use itemPath to know the full path
+// like using d-> in case of dpointer
+QString itemVar(const CfgEntry *e, const KConfigParameters &cfg);
+
+// returns the name of the local inner item if there is one
+// (before wrapping with KConfigCompilerSignallingItem)
+// Otherwise return itemVar()
+QString innerItemVar(const CfgEntry *e, const KConfigParameters &cfg);
+
+QString itemPath(const CfgEntry *e, const KConfigParameters &cfg);
+
+QString filenameOnly(const QString &path);
+
+QString itemDeclaration(const CfgEntry *e, const KConfigParameters &cfg);
+
+QString translatedString(const KConfigParameters &cfg,
+ const QString &string,
+ const QString &context = QString(),
+ const QString ¶m = QString(),
+ const QString ¶mValue = QString());
+
+// TODO: Sanitize those functions.
+QString newItem(const CfgEntry *entry, const QString &key, const QString &defaultValue, const KConfigParameters &cfg, const QString ¶m = QString());
+
+QString newInnerItem(const CfgEntry *entry, const QString &key, const QString &defaultValue, const KConfigParameters &cfg, const QString ¶m = QString());
+
+QString userTextsFunctions(const CfgEntry *e, const KConfigParameters &cfg, QString itemVarStr = QString(), const QString &i = QString());
+
+QString paramString(const QString &s, const CfgEntry *e, int i);
+QString paramString(const QString &group, const QList<Param> ¶meters);
+
+QString defaultValue(const QString &t);
+QString memberGetDefaultBody(const CfgEntry *e);
+QString literalString(const QString &s);
+QString enumTypeQualifier(const QString &n, const CfgEntry::Choices &c);
+
+void addQuotes(QString &s);
+void addDebugMethod(QTextStream &out, const KConfigParameters &cfg, const QString &n);
+
+#endif
--- /dev/null
+/*
+ This file is part of the KDE libraries.
+
+ SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+ SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+ SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
+ SPDX-FileCopyrightText: 2006 Michaël Larouche <michael.larouche@kdemail.net>
+ SPDX-FileCopyrightText: 2008 Allen Winter <winter@kde.org>
+ SPDX-FileCopyrightText: 2020 Tomaz Cananbrava <tcanabrava@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "KConfigHeaderGenerator.h"
+
+#include <QDebug>
+#include <QTextStream>
+#include <iostream>
+
+KConfigHeaderGenerator::KConfigHeaderGenerator(const QString &inputFile, const QString &baseDir, const KConfigParameters &cfg, ParseResult &result)
+ : KConfigCodeGeneratorBase(inputFile, baseDir, baseDir + cfg.baseName + QLatin1Char('.') + cfg.headerExtension, cfg, result)
+{
+}
+
+void KConfigHeaderGenerator::start()
+{
+ KConfigCodeGeneratorBase::start();
+ startHeaderGuards();
+ createHeaders();
+
+ beginNamespaces();
+
+ createForwardDeclarations();
+
+ doClassDefinition();
+
+ endNamespaces();
+ endHeaderGuards();
+}
+
+void KConfigHeaderGenerator::doClassDefinition()
+{
+ stream() << "class " << cfg().visibility << cfg().className << " : public " << cfg().inherits << '\n';
+ startScope();
+
+ // Add Q_OBJECT macro if the config need signals.
+ if (!parseResult.signalList.isEmpty() || cfg().generateProperties) {
+ stream() << " Q_OBJECT\n";
+ }
+
+ if (cfg().qmlRegistration) {
+ stream() << " QML_ELEMENT\n";
+
+ if (cfg().singleton) {
+ stream() << " QML_SINGLETON\n";
+ }
+ }
+ stream() << " public:\n";
+ implementEnums();
+ createConstructor();
+ createDestructor();
+
+ for (const auto *entry : std::as_const(parseResult.entries)) {
+ const QString returnType = (cfg().useEnumTypes && entry->type == QLatin1String("Enum")) ? enumType(entry, cfg().globalEnums) : cppType(entry->type);
+
+ createSetters(entry);
+ createProperties(entry, returnType);
+ createImmutableProperty(entry);
+ createGetters(entry, returnType);
+ createImmutableGetters(entry);
+ createDefaultValueMember(entry);
+ createItemAcessors(entry, returnType);
+ }
+
+ createSignals();
+ stream() << " protected:\n";
+ createSingleton();
+
+ // TODO: Move those to functions too.
+ if (parseResult.hasNonModifySignals) {
+ stream() << whitespace() << "bool usrSave() override;\n";
+ }
+
+ // Member variables
+ if (!cfg().memberVariables.isEmpty() //
+ && cfg().memberVariables != QLatin1String("private") //
+ && cfg().memberVariables != QLatin1String("dpointer")) {
+ stream() << " " << cfg().memberVariables << ":\n";
+ }
+
+ // Class Parameters
+ for (const auto ¶meter : std::as_const(parseResult.parameters)) {
+ stream() << whitespace() << "" << cppType(parameter.type) << " mParam" << parameter.name << ";\n";
+ }
+
+ createNonDPointerHelpers();
+ createDPointer();
+
+ if (cfg().customAddons) {
+ stream() << whitespace() << "// Include custom additions\n";
+ stream() << whitespace() << "#include \"" << cfg().baseName << "_addons." << cfg().headerExtension << "\"\n";
+ }
+
+ endScope(ScopeFinalizer::Semicolon);
+}
+
+void KConfigHeaderGenerator::createHeaders()
+{
+ addHeaders(cfg().headerIncludes);
+ if (cfg().headerIncludes.size()) {
+ stream() << '\n';
+ }
+
+ if (!cfg().singleton && parseResult.parameters.isEmpty()) {
+ addHeaders({QStringLiteral("qglobal.h")});
+ }
+
+ if (cfg().inherits == QLatin1String("KCoreConfigSkeleton")) {
+ addHeaders({QStringLiteral("kcoreconfigskeleton.h")});
+ } else {
+ addHeaders({QStringLiteral("kconfigskeleton.h")});
+ }
+
+ addHeaders({QStringLiteral("QCoreApplication"), QStringLiteral("QDebug")});
+ if (!cfg().dpointer && parseResult.hasNonModifySignals) {
+ addHeaders({QStringLiteral("QSet")});
+ }
+
+ if (cfg().qmlRegistration) {
+ addHeaders({QStringLiteral("qqmlintegration.h")});
+ }
+
+ stream() << '\n';
+
+ addHeaders(parseResult.includes);
+ if (parseResult.includes.size()) {
+ stream() << '\n';
+ }
+}
+
+void KConfigHeaderGenerator::startHeaderGuards()
+{
+ const bool hasNamespace = !cfg().nameSpace.isEmpty();
+ const QString namespaceName = QString(QString(cfg().nameSpace).replace(QLatin1String("::"), QLatin1String("_"))).toUpper();
+ const QString namespaceStr = hasNamespace ? namespaceName + QLatin1Char('_') : QString{};
+ const QString defineName = namespaceStr + cfg().className.toUpper() + QStringLiteral("_H");
+
+ stream() << "#ifndef " << defineName << '\n';
+ stream() << "#define " << defineName << '\n';
+ stream() << '\n';
+}
+
+void KConfigHeaderGenerator::endHeaderGuards()
+{
+ stream() << '\n';
+ stream() << "#endif";
+ stream() << '\n';
+ // HACK: Original files ended with two last newlines, add them.
+ stream() << '\n';
+}
+
+void KConfigHeaderGenerator::implementChoiceEnums(const CfgEntry *entry, const CfgEntry::Choices &choices)
+{
+ const QList<CfgEntry::Choice> chlist = choices.choices;
+
+ if (chlist.isEmpty()) {
+ return;
+ }
+
+ QStringList values;
+ for (const auto &choice : std::as_const(chlist)) {
+ values.append(choices.prefix + choice.name);
+ }
+
+ if (choices.name().isEmpty()) {
+ if (cfg().globalEnums) {
+ stream() << whitespace() << "enum " << enumName(entry->name, entry->choices) << " { " << values.join(QStringLiteral(", ")) << " };\n";
+ if (cfg().generateProperties) {
+ stream() << whitespace() << "Q_ENUM(" << enumName(entry->name, entry->choices) << ")\n";
+ }
+ } else {
+ // Create an automatically named enum
+ stream() << whitespace() << "class " << enumName(entry->name, entry->choices) << '\n';
+ stream() << whitespace() << "{\n";
+ stream() << whitespace() << " public:\n";
+ stream() << whitespace() << " enum type { " << values.join(QStringLiteral(", ")) << ", COUNT };\n";
+ stream() << whitespace() << "};\n";
+ }
+ } else if (!choices.external()) {
+ // Create a named enum
+ stream() << whitespace() << "enum " << enumName(entry->name, entry->choices) << " { " << values.join(QStringLiteral(", ")) << " };\n";
+ }
+}
+
+void KConfigHeaderGenerator::implementValueEnums(const CfgEntry *entry, const QStringList &values)
+{
+ if (values.isEmpty()) {
+ return;
+ }
+
+ if (cfg().globalEnums) {
+ // ### FIXME!!
+ // make the following string table an index-based string search!
+ // ###
+ stream() << whitespace() << "enum " << enumName(entry->param) << " { " << values.join(QStringLiteral(", ")) << " };\n";
+ stream() << whitespace() << "static const char* const " << enumName(entry->param) << "ToString[];\n";
+ } else {
+ stream() << whitespace() << "class " << enumName(entry->param) << '\n';
+ stream() << whitespace() << "{\n";
+ stream() << whitespace() << " public:\n";
+ stream() << whitespace() << " enum type { " << values.join(QStringLiteral(", ")) << ", COUNT };\n";
+ stream() << whitespace() << " static const char* const enumToString[];\n";
+ stream() << whitespace() << "};\n";
+ }
+}
+
+void KConfigHeaderGenerator::implementEnums()
+{
+ if (!parseResult.entries.size()) {
+ return;
+ }
+
+ for (const auto *entry : std::as_const(parseResult.entries)) {
+ const CfgEntry::Choices &choices = entry->choices;
+ const QStringList values = entry->paramValues;
+
+ implementChoiceEnums(entry, choices);
+ implementValueEnums(entry, values);
+ }
+ stream() << '\n';
+}
+
+void KConfigHeaderGenerator::createSignals()
+{
+ // Signal definition.
+ if (parseResult.signalList.isEmpty()) {
+ return;
+ }
+
+ stream() << "\n enum {\n";
+
+ // HACK: Use C-Style for add a comma in all but the last element,
+ // just to make the source generated code equal to the old one.
+ // When we are sure, revert this to a range-based-for and just add
+ // a last comma, as it's valid c++.
+ for (int i = 0, end = parseResult.signalList.size(); i < end; i++) {
+ auto signal = parseResult.signalList.at(i);
+ stream() << whitespace() << " " << signalEnumName(signal.name) << " = " << (i + 1);
+ if (i != end - 1) {
+ stream() << ",\n";
+ }
+ }
+ stream() << '\n';
+ stream() << whitespace() << "};\n\n";
+
+ stream() << " Q_SIGNALS:";
+ for (const Signal &signal : std::as_const(parseResult.signalList)) {
+ stream() << '\n';
+ if (!signal.label.isEmpty()) {
+ stream() << whitespace() << "/**\n";
+ stream() << whitespace() << " " << signal.label << '\n';
+ stream() << whitespace() << "*/\n";
+ }
+ stream() << whitespace() << "void " << signal.name << "(";
+
+ auto it = signal.arguments.cbegin();
+ const auto itEnd = signal.arguments.cend();
+ while (it != itEnd) {
+ Param argument = *it;
+ QString type = param(argument.type);
+ if (cfg().useEnumTypes && argument.type == QLatin1String("Enum")) {
+ for (const auto *entry : std::as_const(parseResult.entries)) {
+ if (entry->name == argument.name) {
+ type = enumType(entry, cfg().globalEnums);
+ break;
+ }
+ }
+ }
+ stream() << type << " " << argument.name;
+ if (++it != itEnd) {
+ stream() << ", ";
+ }
+ }
+ stream() << ");\n";
+ }
+ stream() << '\n';
+
+ stream() << " private:\n";
+ stream() << whitespace() << "void itemChanged(quint64 signalFlag);\n";
+ stream() << '\n';
+}
+
+void KConfigHeaderGenerator::createDPointer()
+{
+ if (!cfg().dpointer) {
+ return;
+ }
+
+ // use a private class for both member variables and items
+ stream() << " private:\n";
+ for (const auto *entry : std::as_const(parseResult.entries)) {
+ if (cfg().allDefaultGetters || cfg().defaultGetters.contains(entry->name)) {
+ stream() << whitespace() << "";
+ if (cfg().staticAccessors) {
+ stream() << "static ";
+ }
+ stream() << cppType(entry->type) << " " << getDefaultFunction(entry->name) << "_helper(";
+ if (!entry->param.isEmpty()) {
+ stream() << " " << cppType(entry->paramType) << " i ";
+ }
+ stream() << ")" << Const() << ";\n";
+ }
+ }
+ stream() << whitespace() << "" << cfg().className << "Private *d;\n";
+}
+
+void KConfigHeaderGenerator::createConstructor()
+{
+ if (cfg().singleton) {
+ stream() << whitespace() << "static " << cfg().className << " *self();\n";
+
+ if (cfg().qmlRegistration) {
+ stream() << whitespace() << "static " << cfg().className << " *create(QQmlEngine *, QJSEngine *);\n";
+ }
+
+ if (parseResult.cfgFileNameArg) {
+ stream() << whitespace() << "static void instance(const QString& cfgfilename);\n";
+ stream() << whitespace() << "static void instance(KSharedConfig::Ptr config);\n";
+ }
+ return;
+ }
+
+ stream() << whitespace() << "" << cfg().className << "(";
+ if (parseResult.cfgFileNameArg) {
+ if (cfg().forceStringFilename) {
+ stream() << " const QString &cfgfilename" << (parseResult.parameters.isEmpty() ? " = QString()" : ", ");
+ } else if (parseResult.cfgStateConfig) {
+ stream() << " KSharedConfig::Ptr config" << (parseResult.parameters.isEmpty() ? " = KSharedConfig::openStateConfig()" : ", ");
+ } else {
+ stream() << " KSharedConfig::Ptr config" << (parseResult.parameters.isEmpty() ? " = KSharedConfig::openConfig()" : ", ");
+ }
+ }
+ if (cfg().forceStringFilename && parseResult.cfgStateConfig) {
+ std::cerr << "One can not use ForceStringFilename and use the stateConfig attribute, consider "
+ "removing the ForceStringFilename kcfgc option if you want to use state data"
+ << std::endl;
+ }
+
+ bool first = true;
+ for (const auto ¶meter : std::as_const(parseResult.parameters)) {
+ if (first) {
+ first = false;
+ } else {
+ stream() << ",";
+ }
+
+ stream() << " " << param(parameter.type) << " " << parameter.name;
+ }
+
+ if (cfg().parentInConstructor) {
+ if (parseResult.cfgFileNameArg || !parseResult.parameters.isEmpty()) {
+ stream() << ",";
+ }
+ stream() << " QObject *parent = nullptr";
+ }
+ stream() << " );\n";
+}
+
+void KConfigHeaderGenerator::createDestructor()
+{
+ stream() << whitespace() << "~" << cfg().className << "() override;\n\n";
+}
+
+void KConfigHeaderGenerator::createForwardDeclarations()
+{
+ // Private class declaration
+ if (cfg().dpointer) {
+ stream() << "class " << cfg().className << "Private;\n\n";
+ }
+
+ if (cfg().qmlRegistration && cfg().singleton) {
+ stream() << "class QQmlEngine;\n";
+ stream() << "class QJSEngine;\n\n";
+ }
+}
+
+void KConfigHeaderGenerator::createProperties(const CfgEntry *entry, const QString &returnType)
+{
+ if (!cfg().generateProperties) {
+ return;
+ }
+ stream() << whitespace() << "Q_PROPERTY(" << returnType << ' ' << getFunction(entry->name);
+ stream() << " READ " << getFunction(entry->name);
+
+ if (cfg().allMutators || cfg().mutators.contains(entry->name)) {
+ const QString signal = changeSignalName(entry->name);
+ stream() << " WRITE " << setFunction(entry->name);
+ stream() << " NOTIFY " << signal;
+
+ // If we have the modified signal, we'll also need
+ // the changed signal as well
+ Signal s;
+ s.name = signal;
+ s.modify = true;
+ parseResult.signalList.append(s);
+ } else {
+ stream() << " CONSTANT";
+ }
+ stream() << ")\n";
+}
+
+void KConfigHeaderGenerator::createImmutableProperty(const CfgEntry *entry)
+{
+ if (!cfg().generateProperties) {
+ return;
+ }
+ stream() << whitespace();
+ stream() << "Q_PROPERTY(bool " << immutableFunction(entry->name);
+ stream() << " READ " << immutableFunction(entry->name);
+ stream() << " CONSTANT)\n";
+}
+
+void KConfigHeaderGenerator::createSetters(const CfgEntry *entry)
+{
+ // Manipulator
+ if (!cfg().allMutators && !cfg().mutators.contains(entry->name)) {
+ return;
+ }
+
+ stream() << whitespace() << "/**\n";
+ stream() << whitespace() << " Set " << entry->label << '\n';
+ stream() << whitespace() << "*/\n";
+
+ if (cfg().staticAccessors) {
+ stream() << whitespace() << "static\n";
+ }
+
+ stream() << whitespace() << "void " << setFunction(entry->name) << "( ";
+ if (!entry->param.isEmpty()) {
+ stream() << cppType(entry->paramType) << " i, ";
+ }
+
+ stream() << (cfg().useEnumTypes && entry->type == QLatin1String("Enum") ? enumType(entry, cfg().globalEnums) : param(entry->type));
+
+ stream() << " v )";
+
+ // function body inline only if not using dpointer
+ // for BC mode
+ if (!cfg().dpointer) {
+ stream() << '\n';
+ startScope();
+ memberMutatorBody(entry);
+ endScope();
+ stream() << '\n';
+ } else {
+ stream() << ";\n\n";
+ }
+}
+
+void KConfigHeaderGenerator::createGetters(const CfgEntry *entry, const QString &returnType)
+{
+ // Accessor
+ stream() << whitespace() << "/**\n";
+ stream() << whitespace() << " Get " << entry->label << '\n';
+ stream() << whitespace() << "*/\n";
+ if (cfg().staticAccessors) {
+ stream() << whitespace() << "static\n";
+ }
+ stream() << whitespace() << "";
+ stream() << returnType;
+ stream() << " " << getFunction(entry->name) << "(";
+ if (!entry->param.isEmpty()) {
+ stream() << " " << cppType(entry->paramType) << " i ";
+ }
+ stream() << ")" << Const();
+
+ // function body inline only if not using dpointer
+ // for BC mode
+ if (!cfg().dpointer) {
+ stream() << '\n';
+ startScope();
+ stream() << whitespace() << memberAccessorBody(entry, cfg().globalEnums);
+ endScope();
+ stream() << '\n';
+ } else {
+ stream() << ";\n\n";
+ }
+}
+
+void KConfigHeaderGenerator::createImmutableGetters(const CfgEntry *entry)
+{
+ stream() << whitespace() << "/**\n";
+ stream() << whitespace() << " Is " << entry->label << " Immutable\n";
+ stream() << whitespace() << "*/\n";
+ // Immutable
+ if (cfg().staticAccessors) {
+ stream() << whitespace() << "static\n";
+ }
+ stream() << whitespace() << "";
+ stream() << "bool " << immutableFunction(entry->name) << "(";
+ if (!entry->param.isEmpty()) {
+ stream() << " " << cppType(entry->paramType) << " i ";
+ }
+ stream() << ")" << Const();
+ // function body inline only if not using dpointer
+ // for BC mode
+ if (!cfg().dpointer) {
+ stream() << '\n';
+ startScope();
+ memberImmutableBody(entry, cfg().globalEnums);
+ endScope();
+ stream() << '\n';
+ } else {
+ stream() << ";\n\n";
+ }
+}
+
+void KConfigHeaderGenerator::createItemAcessors(const CfgEntry *entry, const QString &returnType)
+{
+ Q_UNUSED(returnType)
+
+ // Item accessor
+ if (!cfg().itemAccessors) {
+ return;
+ }
+
+ const QString declType = entry->signalList.isEmpty() ? QStringLiteral("Item") + itemType(entry->type) : QStringLiteral("KConfigCompilerSignallingItem");
+
+ stream() << whitespace() << "/**\n";
+ stream() << whitespace() << " Get Item object corresponding to " << entry->name << "()" << '\n';
+ stream() << whitespace() << "*/\n";
+ stream() << whitespace() << declType << " *" << getFunction(entry->name) << "Item(";
+ if (!entry->param.isEmpty()) {
+ stream() << " " << cppType(entry->paramType) << " i ";
+ }
+ stream() << ")";
+ if (!cfg().dpointer) {
+ stream() << '\n';
+ startScope();
+ stream() << whitespace() << itemAccessorBody(entry, cfg());
+ endScope();
+ } else {
+ stream() << ";\n";
+ }
+
+ stream() << '\n';
+}
+
+void KConfigHeaderGenerator::createDefaultValueMember(const CfgEntry *entry)
+{
+ // Default value Accessor
+ if (!((cfg().allDefaultGetters || cfg().defaultGetters.contains(entry->name)) && !entry->defaultValue.isEmpty())) {
+ return;
+ }
+ stream() << whitespace() << "/**\n";
+ stream() << whitespace() << " Get " << entry->label << " default value\n";
+ stream() << whitespace() << "*/\n";
+ if (cfg().staticAccessors) {
+ stream() << whitespace() << "static\n";
+ }
+ stream() << whitespace() << "";
+ if (cfg().useEnumTypes && entry->type == QLatin1String("Enum")) {
+ stream() << enumType(entry, cfg().globalEnums);
+ } else {
+ stream() << cppType(entry->type);
+ }
+ stream() << " " << getDefaultFunction(entry->name) << "(";
+ if (!entry->param.isEmpty()) {
+ stream() << " " << cppType(entry->paramType) << " i ";
+ }
+ stream() << ")" << Const() << '\n';
+ stream() << whitespace() << "{\n";
+ stream() << whitespace() << " return ";
+ if (cfg().useEnumTypes && entry->type == QLatin1String("Enum")) {
+ stream() << "static_cast<" << enumType(entry, cfg().globalEnums) << ">(";
+ }
+ stream() << getDefaultFunction(entry->name) << "_helper(";
+ if (!entry->param.isEmpty()) {
+ stream() << " i ";
+ }
+ stream() << ")";
+ if (cfg().useEnumTypes && entry->type == QLatin1String("Enum")) {
+ stream() << ")";
+ }
+ stream() << ";\n";
+ stream() << whitespace() << "}\n";
+ stream() << '\n';
+}
+
+void KConfigHeaderGenerator::createSingleton()
+{
+ // Private constructor for singleton
+ if (!cfg().singleton) {
+ return;
+ }
+
+ stream() << whitespace() << "" << cfg().className << "(";
+ if (parseResult.cfgFileNameArg) {
+ stream() << "KSharedConfig::Ptr config";
+ }
+ if (cfg().parentInConstructor) {
+ if (parseResult.cfgFileNameArg) {
+ stream() << ", ";
+ }
+ stream() << "QObject *parent = nullptr";
+ }
+ stream() << ");\n";
+ stream() << whitespace() << "friend class " << cfg().className << "Helper;\n\n";
+}
+
+void KConfigHeaderGenerator::createNonDPointerHelpers()
+{
+ if (cfg().memberVariables == QLatin1String("dpointer")) {
+ return;
+ }
+
+ QString group;
+ for (const auto *entry : std::as_const(parseResult.entries)) {
+ if (entry->group != group) {
+ group = entry->group;
+ stream() << '\n';
+ stream() << whitespace() << "// " << group << '\n';
+ }
+ stream() << whitespace() << "" << cppType(entry->type) << " " << varName(entry->name, cfg());
+ if (!entry->param.isEmpty()) {
+ stream() << QStringLiteral("[%1]").arg(entry->paramMax + 1);
+ }
+ stream() << ";\n";
+
+ if (cfg().allDefaultGetters || cfg().defaultGetters.contains(entry->name)) {
+ stream() << whitespace() << "";
+ if (cfg().staticAccessors) {
+ stream() << "static ";
+ }
+ stream() << cppType(entry->type) << " " << getDefaultFunction(entry->name) << "_helper(";
+ if (!entry->param.isEmpty()) {
+ stream() << " " << cppType(entry->paramType) << " i ";
+ }
+ stream() << ")" << Const() << ";\n";
+ }
+ }
+
+ stream() << "\n private:\n";
+ if (cfg().itemAccessors) {
+ for (const auto *entry : std::as_const(parseResult.entries)) {
+ const QString declType =
+ entry->signalList.isEmpty() ? QStringLiteral("Item") + itemType(entry->type) : QStringLiteral("KConfigCompilerSignallingItem");
+ stream() << whitespace() << declType << " *" << itemVar(entry, cfg());
+ if (!entry->param.isEmpty()) {
+ stream() << QStringLiteral("[%1]").arg(entry->paramMax + 1);
+ }
+ stream() << ";\n";
+ }
+ }
+
+ if (parseResult.hasNonModifySignals) {
+ stream() << whitespace() << "QSet<quint64> " << varName(QStringLiteral("settingsChanged"), cfg()) << ";\n";
+ }
+}
--- /dev/null
+/*
+ This file is part of KDE.
+
+ SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+ SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+ SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
+ SPDX-FileCopyrightText: 2006 Michaël Larouche <michael.larouche@kdemail.net>
+ SPDX-FileCopyrightText: 2008 Allen Winter <winter@kde.org>
+ SPDX-FileCopyrightText: 2020 Tomaz Cananbrava <tcanabrava@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGHEADERGENERATOR_H
+#define KCONFIGHEADERGENERATOR_H
+
+#include "KConfigCodeGeneratorBase.h"
+#include "KConfigCommonStructs.h"
+
+#include <QList>
+#include <QString>
+
+class KConfigParameters;
+class CfgEntry;
+class QTextStream;
+struct ParseResult;
+
+class KConfigHeaderGenerator : public KConfigCodeGeneratorBase
+{
+public:
+ KConfigHeaderGenerator(const QString &inputFile, const QString &baseDir, const KConfigParameters ¶meters, ParseResult &parseResult);
+
+ void start() override;
+
+private:
+ void startHeaderGuards();
+ void endHeaderGuards();
+
+ void implementEnums();
+ void implementChoiceEnums(const CfgEntry *entry, const CfgEntry::Choices &choices);
+ void implementValueEnums(const CfgEntry *entry, const QStringList &values);
+
+ void doClassDefinition();
+ void createHeaders();
+ void createDPointer();
+ void createNonDPointerHelpers();
+
+ void createConstructor();
+ void createDestructor();
+ void createForwardDeclarations();
+ void createSingleton();
+ void createSignals();
+
+ void createSetters(const CfgEntry *entry);
+ void createItemAcessors(const CfgEntry *entry, const QString &returnType);
+ void createGetters(const CfgEntry *entry, const QString &returnType);
+ void createImmutableGetters(const CfgEntry *entry);
+ void createProperties(const CfgEntry *entry, const QString &returnType);
+ void createImmutableProperty(const CfgEntry *entry);
+ void createDefaultValueMember(const CfgEntry *entry);
+};
+
+#endif
--- /dev/null
+/*
+ This file is part of the KDE libraries.
+
+ SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+ SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+ SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
+ SPDX-FileCopyrightText: 2006 Michaël Larouche <michael.larouche@kdemail.net>
+ SPDX-FileCopyrightText: 2008 Allen Winter <winter@kde.org>
+ SPDX-FileCopyrightText: 2020 Tomaz Cananbrava <tcanabrava@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "KConfigParameters.h"
+
+#include <QDebug>
+#include <QFileInfo>
+
+#include <iostream>
+
+KConfigParameters::KConfigParameters(const QString &codegenFilename)
+{
+ if (!codegenFilename.endsWith(QLatin1String(".kcfgc"))) {
+ std::cerr << "Codegen options file must have extension .kcfgc" << std::endl;
+ exit(1);
+ }
+
+ baseName = QFileInfo(codegenFilename).fileName();
+ baseName = baseName.left(baseName.length() - 6);
+
+ // Configure the compiler with some settings
+ QSettings codegenConfig(codegenFilename, QSettings::IniFormat);
+
+ nameSpace = codegenConfig.value(QStringLiteral("NameSpace")).toString();
+ className = codegenConfig.value(QStringLiteral("ClassName")).toString();
+ if (className.isEmpty()) {
+ std::cerr << "Class name missing" << std::endl;
+ exit(1);
+ }
+ inherits = codegenConfig.value(QStringLiteral("Inherits")).toString();
+ if (inherits.isEmpty()) {
+ inherits = QStringLiteral("KConfigSkeleton");
+ }
+ visibility = codegenConfig.value(QStringLiteral("Visibility")).toString();
+ if (!visibility.isEmpty()) {
+ visibility += QLatin1Char(' ');
+ }
+ parentInConstructor = codegenConfig.value(QStringLiteral("ParentInConstructor"), false).toBool();
+ forceStringFilename = codegenConfig.value(QStringLiteral("ForceStringFilename"), false).toBool();
+ singleton = codegenConfig.value(QStringLiteral("Singleton"), false).toBool();
+ staticAccessors = singleton;
+ customAddons = codegenConfig.value(QStringLiteral("CustomAdditions"), false).toBool();
+ memberVariables = codegenConfig.value(QStringLiteral("MemberVariables")).toString();
+ dpointer = (memberVariables == QLatin1String("dpointer"));
+ headerIncludes = codegenConfig.value(QStringLiteral("IncludeFiles"), QStringList()).toStringList();
+ sourceIncludes = codegenConfig.value(QStringLiteral("SourceIncludeFiles"), QStringList()).toStringList();
+ mutators = codegenConfig.value(QStringLiteral("Mutators"), QStringList()).toStringList();
+ allMutators = ((mutators.count() == 1) && (mutators.at(0).toLower() == QLatin1String("true")));
+ itemAccessors = codegenConfig.value(QStringLiteral("ItemAccessors"), false).toBool();
+ setUserTexts = codegenConfig.value(QStringLiteral("SetUserTexts"), false).toBool();
+ defaultGetters = codegenConfig.value(QStringLiteral("DefaultValueGetters"), QStringList()).toStringList();
+ allDefaultGetters = (defaultGetters.count() == 1) && (defaultGetters.at(0).toLower() == QLatin1String("true"));
+ notifiers = codegenConfig.value(QStringLiteral("Notifiers"), QStringList()).toStringList();
+ allNotifiers = ((notifiers.count() == 1) && (notifiers.at(0).toLower() == QLatin1String("true")));
+ globalEnums = codegenConfig.value(QStringLiteral("GlobalEnums"), false).toBool();
+ useEnumTypes = codegenConfig.value(QStringLiteral("UseEnumTypes"), false).toBool();
+ const QString trString = codegenConfig.value(QStringLiteral("TranslationSystem")).toString().toLower();
+ generateProperties = codegenConfig.value(QStringLiteral("GenerateProperties"), false).toBool();
+ if (trString == QLatin1String("kde")) {
+ translationSystem = KdeTranslation;
+ translationDomain = codegenConfig.value(QStringLiteral("TranslationDomain")).toString();
+ } else {
+ if (!trString.isEmpty() && trString != QLatin1String("qt")) {
+ std::cerr << "Unknown translation system, falling back to Qt tr()" << std::endl;
+ }
+ translationSystem = QtTranslation;
+ }
+ qCategoryLoggingName = codegenConfig.value(QStringLiteral("CategoryLoggingName"), QString()).toString();
+ headerExtension = codegenConfig.value(QStringLiteral("HeaderExtension"), QStringLiteral("h")).toString();
+ qmlRegistration = codegenConfig.value(QStringLiteral("QmlRegistration")).toBool();
+}
--- /dev/null
+/*
+ This file is part of KDE.
+
+ SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+ SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+ SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
+ SPDX-FileCopyrightText: 2006 Michaël Larouche <michael.larouche@kdemail.net>
+ SPDX-FileCopyrightText: 2008 Allen Winter <winter@kde.org>
+ SPDX-FileCopyrightText: 2020 Tomaz Cananbrava <tcanabrava@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGXTPARAMETERS_H
+#define KCONFIGXTPARAMETERS_H
+
+#include <QSettings>
+#include <QString>
+#include <QStringList>
+
+/**
+ Configuration Compiler Configuration
+*/
+class KConfigParameters
+{
+public:
+ KConfigParameters(const QString &codegenFilename);
+
+public:
+ enum TranslationSystem {
+ QtTranslation,
+ KdeTranslation,
+ };
+
+ // These are read from the .kcfgc configuration file
+ QString nameSpace; // The namespace for the class to be generated
+ QString className; // The class name to be generated
+ QString inherits; // The class the generated class inherits (if empty, from KConfigSkeleton)
+ QString visibility;
+ bool parentInConstructor; // The class has the optional parent parameter in its constructor
+ bool forceStringFilename;
+ bool singleton; // The class will be a singleton
+ bool staticAccessors; // provide or not static accessors
+ bool customAddons;
+ QString memberVariables;
+ QStringList headerIncludes;
+ QStringList sourceIncludes;
+ QStringList mutators;
+ QStringList defaultGetters;
+ QStringList notifiers;
+ QString qCategoryLoggingName;
+ QString headerExtension;
+ bool allMutators;
+ bool setUserTexts;
+ bool allDefaultGetters;
+ bool dpointer;
+ bool globalEnums;
+ bool useEnumTypes;
+ bool itemAccessors;
+ bool allNotifiers;
+ TranslationSystem translationSystem;
+ QString translationDomain;
+ bool generateProperties;
+ QString baseName;
+ bool qmlRegistration;
+};
+
+#endif
--- /dev/null
+/*
+ This file is part of the KDE libraries
+
+ SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+ SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+ SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
+ SPDX-FileCopyrightText: 2006 Michaël Larouche <michael.larouche@kdemail.net>
+ SPDX-FileCopyrightText: 2008 Allen Winter <winter@kde.org>
+ SPDX-FileCopyrightText: 2020 Tomaz Cananbrava <tcanabrava@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "KConfigSourceGenerator.h"
+
+#include <QRegularExpression>
+
+KConfigSourceGenerator::KConfigSourceGenerator(const QString &inputFile, const QString &baseDir, const KConfigParameters &cfg, ParseResult &parseResult)
+ : KConfigCodeGeneratorBase(inputFile, baseDir, baseDir + cfg.baseName + QLatin1String(".cpp"), cfg, parseResult)
+{
+}
+
+void KConfigSourceGenerator::start()
+{
+ KConfigCodeGeneratorBase::start();
+ stream() << '\n';
+ createHeaders();
+
+ if (!cfg().nameSpace.isEmpty()) {
+ stream() << "using namespace " << cfg().nameSpace << ";";
+ stream() << "\n\n";
+ }
+
+ createPrivateDPointerImplementation();
+ createSingletonImplementation();
+ createPreamble();
+ doConstructor();
+ doGetterSetterDPointerMode();
+ createDefaultValueGetterSetter();
+ createDestructor();
+ createNonModifyingSignalsHelper();
+ createSignalFlagsHandler();
+}
+
+void KConfigSourceGenerator::createHeaders()
+{
+ QString headerName = cfg().baseName + QLatin1Char('.') + cfg().headerExtension;
+
+ // TODO: Make addQuotes return a string instead of replacing it inplace.
+ addQuotes(headerName);
+
+ addHeaders({headerName});
+ stream() << '\n';
+
+ addHeaders(cfg().sourceIncludes);
+ if (cfg().setUserTexts && cfg().translationSystem == KConfigParameters::KdeTranslation) {
+ addHeaders({QStringLiteral("klocalizedstring.h")});
+ stream() << '\n';
+ }
+
+ // Header required by singleton implementation
+ if (cfg().singleton) {
+ addHeaders({QStringLiteral("qglobal.h"), QStringLiteral("QFile")});
+
+ // HACK: Add single line to fix test.
+ if (cfg().singleton && parseResult.cfgFileNameArg) {
+ stream() << '\n';
+ }
+ }
+
+ if (cfg().singleton && parseResult.cfgFileNameArg) {
+ addHeaders({QStringLiteral("QDebug")});
+ }
+
+ if (cfg().dpointer && parseResult.hasNonModifySignals) {
+ addHeaders({QStringLiteral("QSet")});
+ }
+
+ if (cfg().qmlRegistration && cfg().singleton) {
+ addHeaders({QStringLiteral("QQmlEngine")});
+ }
+
+ if (cfg().singleton) {
+ stream() << '\n';
+ }
+}
+
+void KConfigSourceGenerator::createPrivateDPointerImplementation()
+{
+ // private class implementation
+ if (!cfg().dpointer) {
+ return;
+ }
+
+ QString group;
+ beginNamespaces();
+ stream() << "class " << cfg().className << "Private\n";
+ stream() << "{\n";
+ stream() << " public:\n";
+
+ // Create Members
+ for (const auto *entry : std::as_const(parseResult.entries)) {
+ if (entry->group != group) {
+ group = entry->group;
+ stream() << '\n';
+ stream() << " // " << group << '\n';
+ }
+ stream() << " " << cppType(entry->type) << " " << varName(entry->name, cfg());
+ if (!entry->param.isEmpty()) {
+ stream() << QStringLiteral("[%1]").arg(entry->paramMax + 1);
+ }
+ stream() << ";\n";
+ }
+ stream() << "\n // items\n";
+
+ // Create Items.
+ for (const auto *entry : std::as_const(parseResult.entries)) {
+ const QString declType = entry->signalList.isEmpty() ? QString(cfg().inherits + QStringLiteral("::Item") + itemType(entry->type))
+ : QStringLiteral("KConfigCompilerSignallingItem");
+
+ stream() << " " << declType << " *" << itemVar(entry, cfg());
+ if (!entry->param.isEmpty()) {
+ stream() << QStringLiteral("[%1]").arg(entry->paramMax + 1);
+ }
+ stream() << ";\n";
+ }
+
+ if (parseResult.hasNonModifySignals) {
+ stream() << " QSet<quint64> " << varName(QStringLiteral("settingsChanged"), cfg()) << ";\n";
+ }
+
+ stream() << "};\n\n";
+ endNamespaces();
+}
+
+void KConfigSourceGenerator::createSingletonImplementation()
+{
+ // Singleton implementation
+ if (!cfg().singleton) {
+ return;
+ }
+
+ beginNamespaces();
+ stream() << "class " << cfg().className << "Helper\n";
+ stream() << '{' << '\n';
+ stream() << " public:\n";
+ stream() << " " << cfg().className << "Helper() : q(nullptr) {}\n";
+ stream() << " ~" << cfg().className << "Helper() { delete q; q = nullptr; }\n";
+ stream() << " " << cfg().className << "Helper(const " << cfg().className << "Helper&) = delete;\n";
+ stream() << " " << cfg().className << "Helper& operator=(const " << cfg().className << "Helper&) = delete;\n";
+ stream() << " " << cfg().className << " *q;\n";
+ stream() << "};\n";
+ endNamespaces();
+
+ stream() << "Q_GLOBAL_STATIC(" << cfg().className << "Helper, s_global" << cfg().className << ")\n";
+
+ stream() << cfg().className << " *" << cfg().className << "::self()\n";
+ stream() << "{\n";
+ if (parseResult.cfgFileNameArg) {
+ stream() << " if (!s_global" << cfg().className << "()->q)\n";
+ stream() << " qFatal(\"you need to call " << cfg().className << "::instance before using\");\n";
+ } else {
+ stream() << " if (!s_global" << cfg().className << "()->q) {\n";
+ stream() << " new " << cfg().className << ';' << '\n';
+ stream() << " s_global" << cfg().className << "()->q->read();\n";
+ stream() << " }\n\n";
+ }
+ stream() << " return s_global" << cfg().className << "()->q;\n";
+ stream() << "}\n\n";
+
+ if (cfg().qmlRegistration && cfg().singleton) {
+ stream() << cfg().className << " *" << cfg().className << "::create(QQmlEngine *, QJSEngine *)\n";
+ stream() << "{\n";
+ stream() << " QQmlEngine::setObjectOwnership(self(), QQmlEngine::CppOwnership);\n";
+ stream() << " return self();\n";
+ stream() << "}\n\n";
+ }
+
+ if (parseResult.cfgFileNameArg) {
+ auto instance = [this](const QString &type, const QString &arg, bool isString) {
+ stream() << "void " << cfg().className << "::instance(" << type << " " << arg << ")\n";
+ stream() << "{\n";
+ stream() << " if (s_global" << cfg().className << "()->q) {\n";
+ stream() << " qDebug() << \"" << cfg().className << "::instance called after the first use - ignoring\";\n";
+ stream() << " return;\n";
+ stream() << " }\n";
+ stream() << " new " << cfg().className << "(";
+ if (parseResult.cfgStateConfig) {
+ stream() << "KSharedConfig::openStateConfig(" << arg << ")";
+ } else if (isString) {
+ stream() << "KSharedConfig::openConfig(" << arg << ")";
+ } else {
+ stream() << "std::move(" << arg << ")";
+ }
+ stream() << ");\n";
+ stream() << " s_global" << cfg().className << "()->q->read();\n";
+ stream() << "}\n\n";
+ };
+ instance(QStringLiteral("const QString&"), QStringLiteral("cfgfilename"), true);
+ instance(QStringLiteral("KSharedConfig::Ptr"), QStringLiteral("config"), false);
+ }
+}
+
+void KConfigSourceGenerator::createPreamble()
+{
+ QString cppPreamble;
+ for (const auto *entry : std::as_const(parseResult.entries)) {
+ if (entry->paramValues.isEmpty()) {
+ continue;
+ }
+
+ cppPreamble += QStringLiteral("const char* const ") + cfg().className + QStringLiteral("::") + enumName(entry->param);
+ cppPreamble += cfg().globalEnums
+ ? QStringLiteral("ToString[] = { \"") + entry->paramValues.join(QStringLiteral("\", \"")) + QStringLiteral("\" };\n")
+ : QStringLiteral("::enumToString[] = { \"") + entry->paramValues.join(QStringLiteral("\", \"")) + QStringLiteral("\" };\n");
+ }
+
+ if (!cppPreamble.isEmpty()) {
+ stream() << cppPreamble << '\n';
+ }
+}
+
+void KConfigSourceGenerator::createConstructorParameterList()
+{
+ if (parseResult.cfgFileNameArg) {
+ if (!cfg().forceStringFilename) {
+ stream() << " KSharedConfig::Ptr config";
+ } else {
+ stream() << " const QString& config";
+ }
+ stream() << (parseResult.parameters.isEmpty() ? "" : ",");
+ }
+
+ for (auto it = parseResult.parameters.cbegin(); it != parseResult.parameters.cend(); ++it) {
+ if (it != parseResult.parameters.cbegin()) {
+ stream() << ",";
+ }
+ stream() << " " << param((*it).type) << " " << (*it).name;
+ }
+
+ if (cfg().parentInConstructor) {
+ if (parseResult.cfgFileNameArg || !parseResult.parameters.isEmpty()) {
+ stream() << ",";
+ }
+ stream() << " QObject *parent";
+ }
+}
+
+void KConfigSourceGenerator::createParentConstructorCall()
+{
+ stream() << cfg().inherits << "(";
+ if (parseResult.cfgStateConfig) {
+ stream() << " KSharedConfig::openStateConfig(QStringLiteral( \"" << parseResult.cfgFileName << "\") ";
+ } else if (!parseResult.cfgFileName.isEmpty()) {
+ stream() << " QStringLiteral( \"" << parseResult.cfgFileName << "\" ";
+ }
+ if (parseResult.cfgFileNameArg) {
+ if (!cfg().forceStringFilename) {
+ stream() << " std::move( config ) ";
+ } else {
+ stream() << " config ";
+ }
+ }
+ if (!parseResult.cfgFileName.isEmpty()) {
+ stream() << ") ";
+ }
+ stream() << ")\n";
+}
+
+void KConfigSourceGenerator::createInitializerList()
+{
+ for (const auto ¶meter : std::as_const(parseResult.parameters)) {
+ stream() << " , mParam" << parameter.name << "(" << parameter.name << ")\n";
+ }
+}
+
+void KConfigSourceGenerator::createEnums(const CfgEntry *entry)
+{
+ if (entry->type != QLatin1String("Enum")) {
+ return;
+ }
+ stream() << " QList<" << cfg().inherits << "::ItemEnum::Choice> values" << entry->name << ";\n";
+
+ for (const auto &choice : std::as_const(entry->choices.choices)) {
+ stream() << " {\n";
+ stream() << " " << cfg().inherits << "::ItemEnum::Choice choice;\n";
+ stream() << " choice.name = QStringLiteral(\"" << choice.name << "\");\n";
+ if (cfg().setUserTexts) {
+ if (!choice.label.isEmpty()) {
+ stream() << " choice.label = " << translatedString(cfg(), choice.label, choice.context) << ";\n";
+ }
+ if (!choice.toolTip.isEmpty()) {
+ stream() << " choice.toolTip = " << translatedString(cfg(), choice.toolTip, choice.context) << ";\n";
+ }
+ if (!choice.whatsThis.isEmpty()) {
+ stream() << " choice.whatsThis = " << translatedString(cfg(), choice.whatsThis, choice.context) << ";\n";
+ }
+ }
+ stream() << " values" << entry->name << ".append( choice );\n";
+ stream() << " }\n";
+ }
+}
+
+void KConfigSourceGenerator::createNormalEntry(const CfgEntry *entry, const QString &key)
+{
+ const QString itemVarStr = itemPath(entry, cfg());
+ const QString innerItemVarStr = innerItemVar(entry, cfg());
+ if (!entry->signalList.isEmpty()) {
+ stream() << " " << innerItemVarStr << " = " << newInnerItem(entry, key, entry->defaultValue, cfg()) << '\n';
+ }
+
+ stream() << " " << itemVarStr << " = " << newItem(entry, key, entry->defaultValue, cfg()) << '\n';
+
+ if (!entry->min.isEmpty()) {
+ stream() << " " << innerItemVarStr << "->setMinValue(" << entry->min << ");\n";
+ }
+
+ if (!entry->max.isEmpty()) {
+ stream() << " " << innerItemVarStr << "->setMaxValue(" << entry->max << ");\n";
+ }
+
+ if (cfg().setUserTexts) {
+ stream() << userTextsFunctions(entry, cfg());
+ }
+
+ if (cfg().allNotifiers || cfg().notifiers.contains(entry->name)) {
+ stream() << " " << itemVarStr << "->setWriteFlags(KConfigBase::Notify);\n";
+ }
+
+ for (const CfgEntry::Choice &choice : std::as_const(entry->choices.choices)) {
+ if (!choice.val.isEmpty()) {
+ stream() << " " << innerItemVarStr << "->setValueForChoice(QStringLiteral( \"" << choice.name << "\" ), QStringLiteral( \"" << choice.val
+ << "\" ));\n";
+ }
+ }
+
+ if (!entry->parentGroup.isEmpty()) {
+ stream() << " " << itemVarStr << "->setGroup(cg" << QString(entry->group).remove(QRegularExpression(QStringLiteral("\\W"))) << ");\n";
+ }
+
+ stream() << " addItem( " << itemVarStr;
+ QString quotedName = entry->name;
+ addQuotes(quotedName);
+ if (quotedName != key) {
+ stream() << ", QStringLiteral( \"" << entry->name << "\" )";
+ }
+ stream() << " );\n";
+}
+
+// TODO : Some compiler option won't work or generate bogus settings file.
+// * Does not manage properly Notifiers=true kcfgc option for parameterized entries :
+// ** KConfigCompilerSignallingItem generated with wrong userData parameter (4th one).
+// ** setWriteFlags() is missing.
+// * Q_PROPERTY signal won't work
+void KConfigSourceGenerator::createIndexedEntry(const CfgEntry *entry, const QString &key)
+{
+ for (int i = 0; i <= entry->paramMax; i++) {
+ const QString argBracket = QStringLiteral("[%1]").arg(i);
+ const QString innerItemVarStr = innerItemVar(entry, cfg()) + argBracket;
+
+ const QString defaultStr = !entry->paramDefaultValues[i].isEmpty() ? entry->paramDefaultValues[i]
+ : !entry->defaultValue.isEmpty() ? paramString(entry->defaultValue, entry, i)
+ : defaultValue(entry->type);
+
+ if (!entry->signalList.isEmpty()) {
+ stream() << " " << innerItemVarStr << " = " << newInnerItem(entry, paramString(key, entry, i), defaultStr, cfg(), argBracket) << '\n';
+ }
+
+ const QString itemVarStr = itemPath(entry, cfg()) + argBracket;
+
+ stream() << " " << itemVarStr << " = " << newItem(entry, paramString(key, entry, i), defaultStr, cfg(), argBracket) << '\n';
+
+ if (!entry->min.isEmpty()) {
+ stream() << " " << innerItemVarStr << "->setMinValue(" << entry->min << ");\n";
+ }
+ if (!entry->max.isEmpty()) {
+ stream() << " " << innerItemVarStr << "->setMaxValue(" << entry->max << ");\n";
+ }
+
+ for (const CfgEntry::Choice &choice : std::as_const(entry->choices.choices)) {
+ if (!choice.val.isEmpty()) {
+ stream() << " " << innerItemVarStr << "->setValueForChoice(QStringLiteral( \"" << choice.name << "\" ), QStringLiteral( \"" << choice.val
+ << "\" ));\n";
+ }
+ }
+
+ if (cfg().setUserTexts) {
+ stream() << userTextsFunctions(entry, cfg(), itemVarStr, entry->paramName);
+ }
+
+ // Make mutators for enum parameters work by adding them with $(..) replaced by the
+ // param name. The check for isImmutable in the set* functions doesn't have the param
+ // name available, just the corresponding enum value (int), so we need to store the
+ // param names in a separate static list!.
+ const bool isEnum = entry->paramType == QLatin1String("Enum");
+ const QString arg = isEnum ? entry->paramValues[i] : QString::number(i);
+
+ QString paramName = entry->paramName;
+
+ stream() << " addItem( " << itemVarStr << ", QStringLiteral( \"";
+ stream() << paramName.replace(QStringLiteral("$(") + entry->param + QLatin1Char(')'), QLatin1String("%1")).arg(arg);
+ stream() << "\" ) );\n";
+ }
+}
+
+void KConfigSourceGenerator::handleCurrentGroupChange(const CfgEntry *entry)
+{
+ if (entry->group == mCurrentGroup) {
+ return;
+ }
+
+ // HACK: This fixes one spacing line in the diff. Remove this in the future and adapt the testcases.
+ static bool first = true;
+ if (!entry->group.isEmpty()) {
+ if (!first) {
+ stream() << '\n';
+ }
+ first = false;
+ }
+
+ mCurrentGroup = entry->group;
+
+ if (!entry->parentGroup.isEmpty()) {
+ QString parentGroup = QString(entry->parentGroup).remove(QRegularExpression(QStringLiteral("\\W")));
+ if (!mConfigGroupList.contains(parentGroup)) {
+ stream() << " KConfigGroup cg" << parentGroup << "(this->config(), " << paramString(entry->parentGroup, parseResult.parameters) << ");\n";
+ mConfigGroupList << parentGroup;
+ }
+ QString currentGroup = QString(mCurrentGroup).remove(QRegularExpression(QStringLiteral("\\W")));
+ if (!mConfigGroupList.contains(currentGroup)) {
+ stream() << " KConfigGroup cg" << currentGroup << " = cg" << QString(entry->parentGroup).remove(QRegularExpression(QStringLiteral("\\W")))
+ << ".group(" << paramString(mCurrentGroup, parseResult.parameters) << ");\n";
+ mConfigGroupList << currentGroup;
+ }
+ } else {
+ stream() << " setCurrentGroup( " << paramString(mCurrentGroup, parseResult.parameters) << " );";
+ stream() << "\n\n";
+ }
+}
+
+void KConfigSourceGenerator::doConstructor()
+{
+ // Constructor
+ stream() << cfg().className << "::" << cfg().className << "(";
+ createConstructorParameterList();
+ stream() << " )\n";
+ stream() << " : ";
+ createParentConstructorCall();
+ createInitializerList();
+
+ stream() << "{\n";
+
+ if (cfg().parentInConstructor) {
+ stream() << " setParent(parent);\n";
+ }
+
+ if (cfg().dpointer) {
+ stream() << " d = new " << cfg().className << "Private;\n";
+ }
+
+ // Needed in case the singleton class is used as baseclass for
+ // another singleton.
+ if (cfg().singleton) {
+ stream() << " Q_ASSERT(!s_global" << cfg().className << "()->q);\n";
+ stream() << " s_global" << cfg().className << "()->q = this;\n";
+ }
+
+ if (!parseResult.signalList.isEmpty()) {
+ // this cast to base-class pointer-to-member is valid C++
+ // https://stackoverflow.com/questions/4272909/is-it-safe-to-upcast-a-method-pointer-and-use-it-with-base-class-pointer/
+ stream() << " KConfigCompilerSignallingItem::NotifyFunction notifyFunction ="
+ << " static_cast<KConfigCompilerSignallingItem::NotifyFunction>(&" << cfg().className << "::itemChanged);\n";
+
+ stream() << '\n';
+ }
+
+ for (const auto *entry : std::as_const(parseResult.entries)) {
+ handleCurrentGroupChange(entry);
+
+ const QString key = paramString(entry->key, parseResult.parameters);
+ if (!entry->code.isEmpty()) {
+ stream() << entry->code << '\n';
+ }
+ createEnums(entry);
+
+ stream() << itemDeclaration(entry, cfg());
+
+ if (entry->param.isEmpty()) {
+ createNormalEntry(entry, key);
+ } else {
+ createIndexedEntry(entry, key);
+ }
+ }
+
+ stream() << "}\n\n";
+}
+
+void KConfigSourceGenerator::createGetterDPointerMode(const CfgEntry *entry)
+{
+ // Accessor
+ if (cfg().useEnumTypes && entry->type == QLatin1String("Enum")) {
+ stream() << enumType(entry, cfg().globalEnums);
+ } else {
+ stream() << cppType(entry->type);
+ }
+
+ stream() << " " << getFunction(entry->name, cfg().className) << "(";
+ if (!entry->param.isEmpty()) {
+ stream() << " " << cppType(entry->paramType) << " i ";
+ }
+ stream() << ")" << Const() << '\n';
+
+ // function body inline only if not using dpointer
+ // for BC mode
+ startScope();
+ // HACK: Fix memberAccessorBody
+ stream() << " " << memberAccessorBody(entry, cfg().globalEnums);
+ endScope();
+ stream() << '\n';
+}
+
+void KConfigSourceGenerator::createImmutableGetterDPointerMode(const CfgEntry *entry)
+{
+ stream() << whitespace() << "";
+ stream() << "bool "
+ << " " << immutableFunction(entry->name, cfg().className) << "(";
+ if (!entry->param.isEmpty()) {
+ stream() << " " << cppType(entry->paramType) << " i ";
+ }
+ stream() << ")" << Const() << '\n';
+ startScope();
+ memberImmutableBody(entry, cfg().globalEnums);
+ endScope();
+ stream() << '\n';
+}
+
+void KConfigSourceGenerator::createSetterDPointerMode(const CfgEntry *entry)
+{
+ // Manipulator
+ if (!(cfg().allMutators || cfg().mutators.contains(entry->name))) {
+ return;
+ }
+
+ stream() << "void " << setFunction(entry->name, cfg().className) << "( ";
+ if (!entry->param.isEmpty()) {
+ stream() << cppType(entry->paramType) << " i, ";
+ }
+
+ if (cfg().useEnumTypes && entry->type == QLatin1String("Enum")) {
+ stream() << enumType(entry, cfg().globalEnums);
+ } else {
+ stream() << param(entry->type);
+ }
+ stream() << " v )\n";
+
+ // function body inline only if not using dpointer
+ // for BC mode
+ startScope();
+ memberMutatorBody(entry);
+ endScope();
+ stream() << '\n';
+}
+
+void KConfigSourceGenerator::createItemGetterDPointerMode(const CfgEntry *entry)
+{
+ // Item accessor
+ if (!cfg().itemAccessors) {
+ return;
+ }
+ stream() << '\n';
+ stream() << cfg().inherits << "::Item" << itemType(entry->type) << " *" << getFunction(entry->name, cfg().className) << "Item(";
+ if (!entry->param.isEmpty()) {
+ stream() << " " << cppType(entry->paramType) << " i ";
+ }
+ stream() << ")\n";
+ startScope();
+ stream() << " " << itemAccessorBody(entry, cfg());
+ endScope();
+}
+
+void KConfigSourceGenerator::doGetterSetterDPointerMode()
+{
+ if (!cfg().dpointer) {
+ return;
+ }
+
+ // setters and getters go in Cpp if in dpointer mode
+ for (const auto *entry : std::as_const(parseResult.entries)) {
+ createSetterDPointerMode(entry);
+ createGetterDPointerMode(entry);
+ createImmutableGetterDPointerMode(entry);
+ createItemGetterDPointerMode(entry);
+ stream() << '\n';
+ }
+}
+
+void KConfigSourceGenerator::createDefaultValueGetterSetter()
+{
+ // default value getters always go in Cpp
+ for (const auto *entry : std::as_const(parseResult.entries)) {
+ QString n = entry->name;
+ QString t = entry->type;
+
+ // Default value Accessor, as "helper" function
+ if ((cfg().allDefaultGetters || cfg().defaultGetters.contains(n)) && !entry->defaultValue.isEmpty()) {
+ stream() << cppType(t) << " " << getDefaultFunction(n, cfg().className) << "_helper(";
+ if (!entry->param.isEmpty()) {
+ stream() << " " << cppType(entry->paramType) << " i ";
+ }
+ stream() << ")" << Const() << '\n';
+ startScope();
+ stream() << memberGetDefaultBody(entry) << '\n';
+ endScope();
+ stream() << '\n';
+ }
+ }
+}
+
+void KConfigSourceGenerator::createDestructor()
+{
+ stream() << cfg().className << "::~" << cfg().className << "()\n";
+ startScope();
+ if (cfg().dpointer) {
+ stream() << " delete d;\n";
+ }
+ if (cfg().singleton) {
+ const QString qgs = QLatin1String("s_global") + cfg().className;
+ stream() << " if (" << qgs << ".exists() && !" << qgs << ".isDestroyed()) {\n";
+ stream() << " " << qgs << "()->q = nullptr;\n";
+ stream() << " }\n";
+ }
+ endScope();
+ stream() << '\n';
+}
+
+void KConfigSourceGenerator::createNonModifyingSignalsHelper()
+{
+ if (!parseResult.hasNonModifySignals) {
+ return;
+ }
+ stream() << "bool " << cfg().className << "::"
+ << "usrSave()\n";
+ startScope();
+ stream() << " const bool res = " << cfg().inherits << "::usrSave();\n";
+ stream() << " if (!res) return false;\n\n";
+ for (const Signal &signal : std::as_const(parseResult.signalList)) {
+ if (signal.modify) {
+ continue;
+ }
+
+ stream() << " if (" << varPath(QStringLiteral("settingsChanged"), cfg()) << ".contains(" << signalEnumName(signal.name) << "))\n";
+ stream() << " Q_EMIT " << signal.name << "(";
+ auto it = signal.arguments.cbegin();
+ const auto itEnd = signal.arguments.cend();
+ while (it != itEnd) {
+ Param argument = *it;
+ bool cast = false;
+ if (cfg().useEnumTypes && argument.type == QLatin1String("Enum")) {
+ for (int i = 0, end = parseResult.entries.count(); i < end; ++i) {
+ if (parseResult.entries.at(i)->name == argument.name) {
+ stream() << "static_cast<" << enumType(parseResult.entries.at(i), cfg().globalEnums) << ">(";
+ cast = true;
+ break;
+ }
+ }
+ }
+ stream() << varPath(argument.name, cfg());
+ if (cast) {
+ stream() << ")";
+ }
+ if (++it != itEnd) {
+ stream() << ", ";
+ }
+ }
+
+ stream() << ");\n";
+ }
+
+ stream() << " " << varPath(QStringLiteral("settingsChanged"), cfg()) << ".clear();\n";
+ stream() << " return true;\n";
+ endScope();
+}
+
+void KConfigSourceGenerator::createSignalFlagsHandler()
+{
+ if (parseResult.signalList.isEmpty()) {
+ return;
+ }
+
+ stream() << '\n';
+ stream() << "void " << cfg().className << "::"
+ << "itemChanged(quint64 signalFlag) {\n";
+ if (parseResult.hasNonModifySignals) {
+ stream() << " " << varPath(QStringLiteral("settingsChanged"), cfg()) << ".insert(signalFlag);\n";
+ }
+
+ if (!parseResult.signalList.isEmpty()) {
+ stream() << '\n';
+ }
+
+ bool modifySignalsWritten = false;
+ for (const Signal &signal : std::as_const(parseResult.signalList)) {
+ if (signal.modify) {
+ if (!modifySignalsWritten) {
+ stream() << " switch (signalFlag) {\n";
+ modifySignalsWritten = true;
+ }
+ stream() << " case " << signalEnumName(signal.name) << ":\n";
+ stream() << " Q_EMIT " << signal.name << "();\n";
+ stream() << " break;\n";
+ }
+ }
+ if (modifySignalsWritten) {
+ stream() << " }\n";
+ }
+
+ stream() << "}\n";
+}
--- /dev/null
+/*
+ This file is part of KDE.
+
+ SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+ SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+ SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
+ SPDX-FileCopyrightText: 2006 Michaël Larouche <michael.larouche@kdemail.net>
+ SPDX-FileCopyrightText: 2008 Allen Winter <winter@kde.org>
+ SPDX-FileCopyrightText: 2020 Tomaz Cananbrava <tcanabrava@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGSOURCEGENERATOR_H
+#define KCONFIGSOURCEGENERATOR_H
+
+#include "KConfigCodeGeneratorBase.h"
+#include "KConfigCommonStructs.h"
+
+#include <QList>
+#include <QString>
+
+class KConfigParameters;
+class CfgEntry;
+class QTextStream;
+struct ParseResult;
+
+class KConfigSourceGenerator : public KConfigCodeGeneratorBase
+{
+public:
+ KConfigSourceGenerator(const QString &inputFile, const QString &baseDir, const KConfigParameters ¶meters, ParseResult &parseResult);
+
+ void start() override;
+
+private:
+ // Those are fairly self contained functions.
+ void createHeaders();
+ void createPrivateDPointerImplementation();
+ void createSingletonImplementation();
+ void createPreamble();
+ void createDestructor();
+ void createConstructorParameterList();
+ void createParentConstructorCall();
+ void createInitializerList();
+ void createDefaultValueGetterSetter();
+ void createNonModifyingSignalsHelper();
+ void createSignalFlagsHandler();
+
+ // Constructor related methods
+ // the `do` methods have related helper functions that are only related
+ // to it. So we can break the function into many smaller ones and create
+ // logic inside of the `do` function.
+ void doConstructor();
+ void createEnums(const CfgEntry *entry);
+ void createNormalEntry(const CfgEntry *entry, const QString &key);
+ void createIndexedEntry(const CfgEntry *entry, const QString &key);
+ void handleCurrentGroupChange(const CfgEntry *entry);
+
+ void doGetterSetterDPointerMode();
+ void createGetterDPointerMode(const CfgEntry *entry);
+ void createImmutableGetterDPointerMode(const CfgEntry *entry);
+ void createSetterDPointerMode(const CfgEntry *entry);
+ void createItemGetterDPointerMode(const CfgEntry *entry);
+
+private:
+ QString mCurrentGroup;
+ QStringList mConfigGroupList; // keeps track of generated KConfigGroup;
+};
+
+#endif
--- /dev/null
+/*
+ This file is part of the KDE libraries
+
+ SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+ SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+ SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
+ SPDX-FileCopyrightText: 2006 Michaël Larouche <michael.larouche@kdemail.net>
+ SPDX-FileCopyrightText: 2008 Allen Winter <winter@kde.org>
+ SPDX-FileCopyrightText: 2020 Tomaz Cananbrava <tcanabrava@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "KConfigXmlParser.h"
+
+#include <QDebug>
+#include <QDomAttr>
+#include <QDomElement>
+#include <QDomNode>
+#include <QFile>
+#include <QList>
+#include <QStringList>
+#include <QTextStream>
+#include <iostream>
+// TODO: Move preprocessDefault to Header / CPP implementation.
+// it makes no sense for a parser to process those values and generate code.
+
+static void preProcessDefault(QString &defaultValue,
+ const QString &name,
+ const QString &type,
+ const CfgEntry::Choices &cfgChoices,
+ QString &code,
+ const KConfigParameters &cfg)
+{
+ if (type == QLatin1String("String") && !defaultValue.isEmpty()) {
+ defaultValue = literalString(defaultValue);
+
+ } else if (type == QLatin1String("Path") && !defaultValue.isEmpty()) {
+ defaultValue = literalString(defaultValue);
+ } else if (type == QLatin1String("Url") && !defaultValue.isEmpty()) {
+ // Use fromUserInput in order to support absolute paths and absolute urls, like KDE4's KUrl(QString) did.
+ defaultValue = QLatin1String("QUrl::fromUserInput( %1)").arg(literalString(defaultValue));
+ } else if ((type == QLatin1String("UrlList") || type == QLatin1String("StringList") || type == QLatin1String("PathList")) && !defaultValue.isEmpty()) {
+ QTextStream cpp(&code, QIODevice::WriteOnly | QIODevice::Append);
+ if (!code.isEmpty()) {
+ cpp << '\n';
+ }
+
+ if (type == QLatin1String("UrlList")) {
+ cpp << " QList<QUrl> default" << name << ";\n";
+ } else {
+ cpp << " QStringList default" << name << ";\n";
+ }
+ const QStringList defaults = defaultValue.split(QLatin1Char(','));
+ for (const auto &val : defaults) {
+ cpp << " default" << name << ".append( ";
+ if (type == QLatin1String("UrlList")) {
+ cpp << "QUrl::fromUserInput(";
+ }
+ cpp << "QString::fromUtf8( \"" << val << "\" ) ";
+ if (type == QLatin1String("UrlList")) {
+ cpp << ") ";
+ }
+ cpp << ");\n";
+ }
+ defaultValue = QLatin1String("default") + name;
+
+ } else if (type == QLatin1String("Color") && !defaultValue.isEmpty()) {
+ static const QRegularExpression colorRe(QRegularExpression::anchoredPattern(QStringLiteral("\\d+,\\s*\\d+,\\s*\\d+(,\\s*\\d+)?")));
+
+ if (colorRe.match(defaultValue).hasMatch()) {
+ defaultValue = QLatin1String("QColor( %1 )").arg(defaultValue);
+ } else {
+ defaultValue = QLatin1String("QColor( \"%1\" )").arg(defaultValue);
+ }
+
+ } else if (type == QLatin1String("Enum")) {
+ for (const auto &choice : cfgChoices.choices) {
+ if (choice.name == defaultValue) {
+ if (cfg.globalEnums && cfgChoices.name().isEmpty()) {
+ defaultValue.prepend(cfgChoices.prefix);
+ } else {
+ defaultValue.prepend(enumTypeQualifier(name, cfgChoices) + cfgChoices.prefix);
+ }
+ break;
+ }
+ }
+
+ } else if (type == QLatin1String("IntList")) {
+ QTextStream cpp(&code, QIODevice::WriteOnly | QIODevice::Append);
+ if (!code.isEmpty()) {
+ cpp << '\n';
+ }
+
+ cpp << " QList<int> default" << name << ";\n";
+ if (!defaultValue.isEmpty()) {
+ const QStringList defaults = defaultValue.split(QLatin1Char(','));
+ for (const auto &defaultVal : defaults) {
+ cpp << " default" << name << ".append( " << defaultVal << " );\n";
+ }
+ }
+ defaultValue = QLatin1String("default") + name;
+ }
+}
+
+static QString dumpNode(const QDomNode &node)
+{
+ QString msg;
+ QTextStream s(&msg, QIODevice::WriteOnly);
+ node.save(s, 0);
+
+ msg = msg.simplified();
+ if (msg.length() > 40) {
+ return msg.left(37) + QLatin1String("...");
+ }
+ return msg;
+}
+
+void KConfigXmlParser::readParameterFromEntry(CfgEntry &readEntry, const QDomElement &e)
+{
+ readEntry.param = e.attribute(QStringLiteral("name"));
+ readEntry.paramType = e.attribute(QStringLiteral("type"));
+
+ if (readEntry.param.isEmpty()) {
+ std::cerr << "Parameter must have a name: " << qPrintable(dumpNode(e)) << std::endl;
+ exit(1);
+ }
+
+ if (readEntry.paramType.isEmpty()) {
+ std::cerr << "Parameter must have a type: " << qPrintable(dumpNode(e)) << std::endl;
+ exit(1);
+ }
+
+ if ((readEntry.paramType == QLatin1String("Int")) || (readEntry.paramType == QLatin1String("UInt"))) {
+ bool ok;
+ readEntry.paramMax = e.attribute(QStringLiteral("max")).toInt(&ok);
+ if (!ok) {
+ std::cerr << "Integer parameter must have a maximum (e.g. max=\"0\"): " << qPrintable(dumpNode(e)) << std::endl;
+ exit(1);
+ }
+ } else if (readEntry.paramType == QLatin1String("Enum")) {
+ for (QDomElement e2 = e.firstChildElement(); !e2.isNull(); e2 = e2.nextSiblingElement()) {
+ if (e2.tagName() == QLatin1String("values")) {
+ for (QDomElement e3 = e2.firstChildElement(); !e3.isNull(); e3 = e3.nextSiblingElement()) {
+ if (e3.tagName() == QLatin1String("value")) {
+ readEntry.paramValues.append(e3.text());
+ }
+ }
+ break;
+ }
+ }
+ if (readEntry.paramValues.isEmpty()) {
+ std::cerr << "No values specified for parameter '" << qPrintable(readEntry.param) << "'." << std::endl;
+ exit(1);
+ }
+ readEntry.paramMax = readEntry.paramValues.count() - 1;
+ } else {
+ std::cerr << "Parameter '" << qPrintable(readEntry.param) << "' has type " << qPrintable(readEntry.paramType)
+ << " but must be of type int, uint or Enum." << std::endl;
+ exit(1);
+ }
+}
+
+bool KConfigXmlParser::hasDefaultCode(CfgEntry &readEntry, const QDomElement &element)
+{
+ Q_UNUSED(readEntry)
+
+ for (QDomElement e = element.firstChildElement(); !e.isNull(); e = e.nextSiblingElement()) {
+ if (e.attribute(QStringLiteral("param")).isEmpty()) {
+ if (e.attribute(QStringLiteral("code")) == QLatin1String("true")) {
+ return true;
+ }
+ }
+ }
+ return false;
+}
+
+void KConfigXmlParser::readChoicesFromEntry(CfgEntry &readEntry, const QDomElement &e)
+{
+ QList<CfgEntry::Choice> chlist;
+ const auto choiceNameRegex = QRegularExpression(QStringLiteral("\\w+"));
+
+ for (QDomElement e2 = e.firstChildElement(); !e2.isNull(); e2 = e2.nextSiblingElement()) {
+ if (e2.tagName() != QLatin1String("choice")) {
+ continue;
+ }
+ CfgEntry::Choice choice;
+ choice.name = e2.attribute(QStringLiteral("name"));
+ if (choice.name.isEmpty()) {
+ std::cerr << "Tag <choice> requires attribute 'name'." << std::endl;
+ } else if (!choiceNameRegex.match(choice.name).hasMatch()) {
+ std::cerr << "Tag <choice> attribute 'name' must be compatible with Enum naming. name was '" << qPrintable(choice.name)
+ << "'. You can use attribute 'value' to pass any string as the choice value." << std::endl;
+ }
+ choice.val = e2.attribute(QStringLiteral("value"));
+ for (QDomElement e3 = e2.firstChildElement(); !e3.isNull(); e3 = e3.nextSiblingElement()) {
+ if (e3.tagName() == QLatin1String("label")) {
+ choice.label = e3.text();
+ choice.context = e3.attribute(QStringLiteral("context"));
+ }
+ if (e3.tagName() == QLatin1String("tooltip")) {
+ choice.toolTip = e3.text();
+ choice.context = e3.attribute(QStringLiteral("context"));
+ }
+ if (e3.tagName() == QLatin1String("whatsthis")) {
+ choice.whatsThis = e3.text();
+ choice.context = e3.attribute(QStringLiteral("context"));
+ }
+ }
+ chlist.append(choice);
+ }
+
+ QString name = e.attribute(QStringLiteral("name"));
+ QString prefix = e.attribute(QStringLiteral("prefix"));
+
+ readEntry.choices = CfgEntry::Choices(chlist, name, prefix);
+}
+
+void KConfigXmlParser::readGroupElements(CfgEntry &readEntry, const QDomElement &element)
+{
+ for (QDomElement e = element.firstChildElement(); !e.isNull(); e = e.nextSiblingElement()) {
+ QString tag = e.tagName();
+ if (tag == QLatin1String("label")) {
+ readEntry.label = e.text();
+ readEntry.labelContext = e.attribute(QStringLiteral("context"));
+ } else if (tag == QLatin1String("tooltip")) {
+ readEntry.toolTip = e.text();
+ readEntry.toolTipContext = e.attribute(QStringLiteral("context"));
+ } else if (tag == QLatin1String("whatsthis")) {
+ readEntry.whatsThis = e.text();
+ readEntry.whatsThisContext = e.attribute(QStringLiteral("context"));
+ } else if (tag == QLatin1String("min")) {
+ readEntry.min = e.text();
+ } else if (tag == QLatin1String("max")) {
+ readEntry.max = e.text();
+ } else if (tag == QLatin1String("code")) {
+ readEntry.code = e.text();
+ } else if (tag == QLatin1String("parameter")) {
+ readParameterFromEntry(readEntry, e);
+ } else if (tag == QLatin1String("default")) {
+ if (e.attribute(QStringLiteral("param")).isEmpty()) {
+ readEntry.defaultValue = e.text();
+ }
+ } else if (tag == QLatin1String("choices")) {
+ readChoicesFromEntry(readEntry, e);
+ } else if (tag == QLatin1String("emit")) {
+ Signal signal;
+ signal.name = e.attribute(QStringLiteral("signal"));
+ readEntry.signalList.append(signal);
+ }
+ }
+}
+
+void KConfigXmlParser::createChangedSignal(CfgEntry &readEntry)
+{
+ if (cfg.generateProperties && (cfg.allMutators || cfg.mutators.contains(readEntry.name))) {
+ Signal s;
+ s.name = changeSignalName(readEntry.name);
+ s.modify = true;
+ readEntry.signalList.append(s);
+ }
+}
+
+void KConfigXmlParser::validateNameAndKey(CfgEntry &readEntry, const QDomElement &element)
+{
+ bool nameIsEmpty = readEntry.name.isEmpty();
+ if (nameIsEmpty && readEntry.key.isEmpty()) {
+ std::cerr << "Entry must have a name or a key: " << qPrintable(dumpNode(element)) << std::endl;
+ exit(1);
+ }
+
+ if (readEntry.key.isEmpty()) {
+ readEntry.key = readEntry.name;
+ }
+
+ if (nameIsEmpty) {
+ readEntry.name = readEntry.key;
+ readEntry.name.remove(QLatin1Char(' '));
+ } else if (readEntry.name.contains(QLatin1Char(' '))) {
+ std::cout << "Entry '" << qPrintable(readEntry.name) << "' contains spaces! <name> elements can not contain spaces!" << std::endl;
+ readEntry.name.remove(QLatin1Char(' '));
+ }
+
+ if (readEntry.name.contains(QStringLiteral("$("))) {
+ if (readEntry.param.isEmpty()) {
+ std::cerr << "Name may not be parameterized: " << qPrintable(readEntry.name) << std::endl;
+ exit(1);
+ }
+ } else {
+ if (!readEntry.param.isEmpty()) {
+ std::cerr << "Name must contain '$(" << qPrintable(readEntry.param) << ")': " << qPrintable(readEntry.name) << std::endl;
+ exit(1);
+ }
+ }
+}
+
+void KConfigXmlParser::readParamDefaultValues(CfgEntry &readEntry, const QDomElement &element)
+{
+ if (readEntry.param.isEmpty()) {
+ return;
+ }
+ // Adjust name
+ readEntry.paramName = readEntry.name;
+
+ readEntry.name.remove(QStringLiteral("$(") + readEntry.param + QLatin1Char(')'));
+ // Lookup defaults for indexed entries
+ for (int i = 0; i <= readEntry.paramMax; i++) {
+ readEntry.paramDefaultValues.append(QString());
+ }
+
+ for (QDomElement e = element.firstChildElement(); !e.isNull(); e = e.nextSiblingElement()) {
+ QString tag = e.tagName();
+ if (tag != QLatin1String("default")) {
+ continue;
+ }
+ QString index = e.attribute(QStringLiteral("param"));
+ if (index.isEmpty()) {
+ continue;
+ }
+
+ bool ok;
+ int i = index.toInt(&ok);
+ if (!ok) {
+ i = readEntry.paramValues.indexOf(index);
+ if (i == -1) {
+ std::cerr << "Index '" << qPrintable(index) << "' for default value is unknown." << std::endl;
+ exit(1);
+ }
+ }
+
+ if ((i < 0) || (i > readEntry.paramMax)) {
+ std::cerr << "Index '" << i << "' for default value is out of range [0, " << readEntry.paramMax << "]." << std::endl;
+ exit(1);
+ }
+
+ QString tmpDefaultValue = e.text();
+
+ if (e.attribute(QStringLiteral("code")) != QLatin1String("true")) {
+ preProcessDefault(tmpDefaultValue, readEntry.name, readEntry.type, readEntry.choices, readEntry.code, cfg);
+ }
+
+ readEntry.paramDefaultValues[i] = tmpDefaultValue;
+ }
+}
+
+CfgEntry *KConfigXmlParser::parseEntry(const QString &group, const QString &parentGroup, const QDomElement &element)
+{
+ CfgEntry readEntry;
+ readEntry.type = element.attribute(QStringLiteral("type"));
+ readEntry.name = element.attribute(QStringLiteral("name"));
+ readEntry.key = element.attribute(QStringLiteral("key"));
+ readEntry.hidden = element.attribute(QStringLiteral("hidden")) == QLatin1String("true");
+ ;
+ readEntry.group = group;
+ readEntry.parentGroup = parentGroup;
+
+ const bool nameIsEmpty = readEntry.name.isEmpty();
+
+ readGroupElements(readEntry, element);
+
+ validateNameAndKey(readEntry, element);
+
+ if (readEntry.label.isEmpty()) {
+ readEntry.label = readEntry.key;
+ }
+
+ if (readEntry.type.isEmpty()) {
+ readEntry.type = QStringLiteral("String"); // XXX : implicit type might be bad
+ }
+
+ readParamDefaultValues(readEntry, element);
+
+ if (!mValidNameRegexp.match(readEntry.name).hasMatch()) {
+ if (nameIsEmpty) {
+ std::cerr << "The key '" << qPrintable(readEntry.key)
+ << "' can not be used as name for the entry because "
+ "it is not a valid name. You need to specify a valid name for this entry."
+ << std::endl;
+ } else {
+ std::cerr << "The name '" << qPrintable(readEntry.name) << "' is not a valid name for an entry." << std::endl;
+ }
+ exit(1);
+ }
+
+ if (mAllNames.contains(readEntry.name)) {
+ if (nameIsEmpty) {
+ std::cerr << "The key '" << qPrintable(readEntry.key)
+ << "' can not be used as name for the entry because "
+ "it does not result in a unique name. You need to specify a unique name for this entry."
+ << std::endl;
+ } else {
+ std::cerr << "The name '" << qPrintable(readEntry.name) << "' is not unique." << std::endl;
+ }
+ exit(1);
+ }
+
+ mAllNames.append(readEntry.name);
+
+ if (!hasDefaultCode(readEntry, element)) {
+ // TODO: Move all the options to CfgEntry.
+ preProcessDefault(readEntry.defaultValue, readEntry.name, readEntry.type, readEntry.choices, readEntry.code, cfg);
+ }
+
+ // TODO: Try to Just return the CfgEntry we populated instead of
+ // creating another one to fill the code.
+ CfgEntry *result = new CfgEntry();
+ result->group = readEntry.group;
+ result->parentGroup = readEntry.parentGroup;
+ result->type = readEntry.type;
+ result->key = readEntry.key;
+ result->name = readEntry.name;
+ result->labelContext = readEntry.labelContext;
+ result->label = readEntry.label;
+ result->toolTipContext = readEntry.toolTipContext;
+ result->toolTip = readEntry.toolTip;
+ result->whatsThisContext = readEntry.whatsThisContext;
+ result->whatsThis = readEntry.whatsThis;
+ result->code = readEntry.code;
+ result->defaultValue = readEntry.defaultValue;
+ result->choices = readEntry.choices;
+ result->signalList = readEntry.signalList;
+ result->hidden = readEntry.hidden;
+
+ if (!readEntry.param.isEmpty()) {
+ result->param = readEntry.param;
+ result->paramName = readEntry.paramName;
+ result->paramType = readEntry.paramType;
+ result->paramValues = readEntry.paramValues;
+ result->paramDefaultValues = readEntry.paramDefaultValues;
+ result->paramMax = readEntry.paramMax;
+ }
+ result->min = readEntry.min;
+ result->max = readEntry.max;
+ createChangedSignal(*result);
+
+ return result;
+}
+
+// TODO: Change the name of the config variable.
+KConfigXmlParser::KConfigXmlParser(const KConfigParameters &cfg, const QString &inputFileName)
+ : cfg(cfg)
+ , mInputFileName(inputFileName)
+{
+ mValidNameRegexp.setPattern(QRegularExpression::anchoredPattern(QStringLiteral("[a-zA-Z_][a-zA-Z0-9_]*")));
+}
+
+void KConfigXmlParser::start()
+{
+ QFile input(mInputFileName);
+ if (!input.open(QIODevice::ReadOnly)) {
+ qFatal("Could not open input file: %s", qUtf8Printable(mInputFileName));
+ }
+ QDomDocument doc;
+ const QDomDocument::ParseResult parseResult = doc.setContent(&input);
+ if (!parseResult) {
+ std::cerr << "Unable to load document." << std::endl;
+ std::cerr << "Parse error in " << qPrintable(mInputFileName) << ", line " << parseResult.errorLine << ", col " << parseResult.errorColumn << ": "
+ << qPrintable(parseResult.errorMessage) << std::endl;
+ exit(1);
+ }
+
+ QDomElement cfgElement = doc.documentElement();
+ if (cfgElement.isNull()) {
+ std::cerr << "No document in kcfg file" << std::endl;
+ exit(1);
+ }
+
+ for (QDomElement element = cfgElement.firstChildElement(); !element.isNull(); element = element.nextSiblingElement()) {
+ QString tag = element.tagName();
+
+ if (tag == QLatin1String("include")) {
+ readIncludeTag(element);
+ } else if (tag == QLatin1String("kcfgfile")) {
+ readKcfgfileTag(element);
+ } else if (tag == QLatin1String("group")) {
+ readGroupTag(element);
+ } else if (tag == QLatin1String("signal")) {
+ readSignalTag(element);
+ }
+ }
+}
+
+ParseResult KConfigXmlParser::getParseResult() const
+{
+ return mParseResult;
+}
+
+void KConfigXmlParser::readIncludeTag(const QDomElement &e)
+{
+ QString includeFile = e.text();
+ if (!includeFile.isEmpty()) {
+ mParseResult.includes.append(includeFile);
+ }
+}
+
+void KConfigXmlParser::readGroupTag(const QDomElement &e)
+{
+ QString group = e.attribute(QStringLiteral("name"));
+ if (group.isEmpty()) {
+ std::cerr << "Group without name" << std::endl;
+ exit(1);
+ }
+
+ const QString parentGroup = e.attribute(QStringLiteral("parentGroupName"));
+
+ for (QDomElement e2 = e.firstChildElement(); !e2.isNull(); e2 = e2.nextSiblingElement()) {
+ if (e2.tagName() != QLatin1String("entry")) {
+ continue;
+ }
+ CfgEntry *entry = parseEntry(group, parentGroup, e2);
+ if (entry) {
+ mParseResult.entries.append(entry);
+ } else {
+ std::cerr << "Can not parse entry." << std::endl;
+ exit(1);
+ }
+ }
+}
+
+void KConfigXmlParser::readKcfgfileTag(const QDomElement &e)
+{
+ mParseResult.cfgFileName = e.attribute(QStringLiteral("name"));
+ mParseResult.cfgStateConfig = e.attribute(QStringLiteral("stateConfig")).toLower() == QLatin1String("true");
+ mParseResult.cfgFileNameArg = e.attribute(QStringLiteral("arg")).toLower() == QLatin1String("true");
+ for (QDomElement e2 = e.firstChildElement(); !e2.isNull(); e2 = e2.nextSiblingElement()) {
+ if (e2.tagName() == QLatin1String("parameter")) {
+ Param p;
+ p.name = e2.attribute(QStringLiteral("name"));
+ p.type = e2.attribute(QStringLiteral("type"));
+ if (p.type.isEmpty()) {
+ p.type = QStringLiteral("String");
+ }
+ mParseResult.parameters.append(p);
+ }
+ }
+}
+
+void KConfigXmlParser::readSignalTag(const QDomElement &e)
+{
+ QString signalName = e.attribute(QStringLiteral("name"));
+ if (signalName.isEmpty()) {
+ std::cerr << "Signal without name." << std::endl;
+ exit(1);
+ }
+ Signal theSignal;
+ theSignal.name = signalName;
+
+ for (QDomElement e2 = e.firstChildElement(); !e2.isNull(); e2 = e2.nextSiblingElement()) {
+ if (e2.tagName() == QLatin1String("argument")) {
+ Param argument;
+ argument.type = e2.attribute(QStringLiteral("type"));
+ if (argument.type.isEmpty()) {
+ std::cerr << "Signal argument without type." << std::endl;
+ exit(1);
+ }
+ argument.name = e2.text();
+ theSignal.arguments.append(argument);
+ } else if (e2.tagName() == QLatin1String("label")) {
+ theSignal.label = e2.text();
+ }
+ }
+
+ mParseResult.signalList.append(theSignal);
+}
--- /dev/null
+/*
+ This file is part of the KDE libraries
+
+ SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+ SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+ SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
+ SPDX-FileCopyrightText: 2006 Michaël Larouche <michael.larouche@kdemail.net>
+ SPDX-FileCopyrightText: 2008 Allen Winter <winter@kde.org>
+ SPDX-FileCopyrightText: 2020 Tomaz Cananbrava <tcanabrava@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGXMLPARSER_H
+#define KCONFIGXMLPARSER_H
+
+#include <QDomDocument>
+#include <QRegularExpression>
+#include <QString>
+
+#include "KConfigCommonStructs.h"
+#include "KConfigParameters.h"
+
+/* This parses the contents of a Xml file into a ParseResult Structure,
+ * It also fails hard:
+ * If start() succeeds, you can use the result,
+ * if start() fails, the program aborts with an error message so there's
+ * no possibility of generating incorrect code information.
+ */
+class KConfigXmlParser
+{
+public:
+ KConfigXmlParser(const KConfigParameters &cfg, const QString &inputFileName);
+
+ // Start the parser and reads the contents of the inputFileName into the ParseResult Structure
+ void start();
+
+ // Get the result of the parse
+ ParseResult getParseResult() const;
+
+private:
+ // creates a `somethingChanged` signal for every property
+ void createChangedSignal(CfgEntry &readEntry);
+
+ void validateNameAndKey(CfgEntry &readEntry, const QDomElement &element);
+
+ // TODO: Use std::optional and CfgEntry (without heap allocation) for this function
+ // *or* fail hard if the parse fails.
+ CfgEntry *parseEntry(const QString &group, const QString &parentGroup, const QDomElement &element);
+
+ // Steps
+ void readIncludeTag(const QDomElement &element);
+ void readGroupTag(const QDomElement &element);
+ void readKcfgfileTag(const QDomElement &element);
+ void readSignalTag(const QDomElement &element);
+
+ // Those are the Entries in the Xml, that represent a parameter within the <group> </group> tag.
+ void readParameterFromEntry(CfgEntry &entry, const QDomElement &element);
+ bool hasDefaultCode(CfgEntry &entry, const QDomElement &element);
+ void readChoicesFromEntry(CfgEntry &entry, const QDomElement &element);
+ void readGroupElements(CfgEntry &entry, const QDomElement &element);
+ void readParamDefaultValues(CfgEntry &entry, const QDomElement &element);
+
+private:
+ ParseResult mParseResult;
+ KConfigParameters cfg;
+ QString mInputFileName;
+ QStringList mAllNames;
+ QRegularExpression mValidNameRegexp;
+};
+
+#endif
--- /dev/null
+/**
+\page kconfig_compiler The KDE Configuration Compiler
+
+kconfig_compiler generates C++ source code from an XML file containing
+information about configuration options (.kcfg) and a file that provides
+the code generation options (.kcfgc) The generated class is based on
+KConfigSkeleton and provides an API for the application to access its
+configuration data.
+
+The generated C++ source code is output to a .h and a .cpp file, whose base
+name is the same as that of the .kcfgc file.
+
+\section kcfg_format The .kcfg XML file format: description of the configuration skeleton
+
+The structure of the .kcfg file is described by its DTD kcfg.xsd.
+
+The \<kcfgfile\> tag may contain either the "name" attribute, which should be the name
+of the configuration file described, or the "arg" attribute, which, if set to
+"true", will allow you to pass the KSharedConfig::Ptr object to use.
+
+If neither "name" nor "arg" is set, the default configuration file
+("\<appname\>rc") will be used.
+
+The \<include\> tags are optional and may contain C++ header files that
+are needed to compile the code needed to compute default values. To generate
+a \#include "..." statement instead of \#include \<...\>, enclose the header
+file name in double quotes (e.g. \<include\>"header.h"\</include\>).
+
+The remaining entries in the XML file are grouped by the tag \<group\>
+which describes the corresponding group in the configuration file.
+
+The individual entries must have at least a name or a key. The key is used
+as the key in the config file, while the name is used to create accessor and
+modifier functions. If \<key\> is given, but not \<name\>, the name is
+constructed by removing all spaces from \<key\>. If \<name\> is given, but
+not \<key\>, the key is the same as \<name\>.
+
+An entry must also have a type. The list of allowable types is
+specified in the DTD and loosely follows the list of types supported
+by the QVariant with exception of the clearly binary types
+(e.g. Pixmap, Image...) which are not supported. Besides those basic
+types the following special types are supported:
+
+<dl>
+ <dt>Path</dt>
+ <dd>
+ This is a string that is specially treated as a file-path.
+ In particular paths in the home directory are prefixed with $HOME in
+ when being stored in the configuration file.
+ </dd>
+
+ <dt>Enum</dt>
+ <dd>
+ This indicates an enumeration. The possible enum values and optional
+ enum name should be provided via the \<choices\> tag. Enum values are
+ accessed as integers by the application but stored as strings in the
+ configuration file. This makes it possible to add more values at a later
+ date without breaking compatibility.
+ </dd>
+
+ <dt>IntList</dt>
+ <dd>
+ This indicates a list of integers. This information is provided
+ to the application as QList<int>. Useful for storing QSplitter
+ geometries.
+ </dd>
+
+ <dt>Color</dt>
+ <dd>
+ Isn't a special type but has special input. It is generated as QColor.
+ Any valid input to QColor(QString) can be used (hex or SVG keyword notation)
+ as well as a special format r,g,b,a where the a denotes the alpha channel and
+ may be omitted.
+ </dd>
+</dl>
+
+An entry can optionally have a default value which is used as default when
+the value isn't specified in any config file. Default values are interpreted
+as literal constant values. If a default value needs to be computed
+or if it needs to be obtained from a function call, the \<default\> tag
+should contain the code="true" attribute. The contents of the \<default\>
+tag is then considered to be a C++ expression. Note that in this case you
+might have to add an \<include\> tag as described above, or a
+SourceIncludeFiles entry in the .kcfgc file as described below, so that the
+code which computes the default value can be compiled.
+
+Additional code for computing default values can be provided outside any
+entry definition via the \<code\> tag. The contents of the \<code\> tag is
+inserted as-is. A typical use for this is to compute a common default value
+which can then be referenced by multiple entries that follow.
+
+\section kcfgc_format The .kcfgc file format: code generation options
+
+The options for generating the C++ sources are read from the file with the
+extension .kcfgc. To generate a class add the corresponding kcfgc file to the
+SOURCES line in the Makefile.am.
+
+The following options are read from the kcfgc file:
+
+
+<dl>
+ <dt>File=\<string\></dt>
+ <dd>
+ Default: \<programname\>.kcfg \n
+ Name of kcfg file containing the options the class is generated for
+ <!-- what? -->
+ </dd>
+
+ <dt>HeaderExtension=\<string\></dt>
+ <dd>
+ Default: h \n
+ Since KF 5.57 \n
+ Extension to use for the name of the generated C++ header files.
+ </dd>
+
+ <dt>NameSpace=\<string\></dt>
+ <dd>
+ Optional namespace for generated class
+ </dd>
+
+ <dt>ClassName=\<string\></dt>
+ <dd>
+ Name of generated class (required)
+ </dd>
+
+ <dt>Inherits=\<string\></dt>
+ <dd>
+ Default: KConfigSkeleton \n
+ Class the generated class inherits from.
+
+ This class must inherit KConfigSkeleton and must provide a default
+ constructor (kcfgfile not specified), a constructor taking a
+ QString argument (kcfgfile with "name" attribute) and a constructor
+ taking a KSharedConfig::Ptr as argument (kcfgfile with "arg" attribute).
+ Please refer to the documentation of KConfigSkeleton.
+ </dd>
+
+ <dt>Visibility=\<string\></dt>
+ <dd>
+ Inserts visibility directive (for example KDE_EXPORT) between
+ "class" keyword and class name in header file
+ </dd>
+
+ <dt>Singleton=\<bool\></dt>
+ <dd>
+ Default: false \n
+ Generated class is a singleton.
+ </dd>
+
+ <dt>CustomAdditions=\<bool\></dt>
+ <dd>
+ <!-- what? -->
+ </dd>
+
+ <dt>MemberVariables=\<string\></dt>
+ <dd>
+ Values: public, protected, private, dpointer \n
+ Default: private \n
+ C++ access modifier used for member variables holding the configuration
+ values
+ </dd>
+
+ <dt>IncludeFiles=\<string\>, \<string\> ...</dt>
+ <dd>
+ Names of files to be included in the header of the generated class.
+
+ Enclose a file name in (escaped) double quotes to generate
+ \#include "..." instead of \#include \<...\>.
+ </dd>
+
+ <dt>SourceIncludeFiles=\<string\>, \<string\> ...</dt>
+ <dd>
+ Names of files to be included in the source file of the generated class.
+
+ Enclose a file name in (escaped) double quotes to generate
+ \#include "..." instead of \#include \<...\>.
+ </dd>
+
+ <dt>Mutators=\<value\></dt>
+ <dd>
+ Values: true, false or a comma separated list of options \n
+ Default: false \n
+ If true, mutator functions for all configuration options are generated.
+ If false, no mutator functions are generated. If a list is provided,
+ mutator functions are generated for the options that are listed.
+ </dd>
+
+ <dt>Notifiers=\<value\></dt>
+ <dd>
+ Values: true, false or a comma separated list of options \n
+ Default: false \n
+ If true, entries will be written with the <b>Notify</b> flag enabled,
+ so changes can be detected using <b>KConfigWatcher</b>.
+ If a list is provided, the options that are listed are written with
+ said flag.
+ </dd>
+
+ <dt>DefaultValueGetters=\<value\></dt>
+ <dd>
+ Values: true, false or a comma separated list of options \n
+ Default: false \n
+ If true, functions to return the default value of all configuration options
+ are generated. If false, no default value functions are generated. If a list
+ is provided, default value functions are generated for the options that are listed.
+ </dd>
+
+ <dt>ItemAccessors=\<bool\></dt>
+ <dd>
+ Default: false \n
+ Generate accessor functions for the KConfigSkeletonItem objects
+ corresponding to the configuration options. If <b>SetUserTexts</b> is set,
+ <b>ItemAccessors</b> also has to be set.
+ </dd>
+
+ <dt>SetUserTexts=\<bool\></dt>
+ <dd>
+ Default: false \n
+ Set the label and whatthis texts of the items from the kcfg file.
+ If <b>SetUserTexts</b> is set, <b>ItemAccessors</b> also has to be set.
+ </dd>
+
+ <dt>GlobalEnums=\<bool\></dt>
+ <dd>
+ Default: false \n
+ If set to true all choices of Enum items will be created in the global
+ scope of the generated class. If set to false, each Enum item whose enum is not
+ explicitly named will get its own namespace for its choices.
+ </dd>
+
+ <dt>UseEnumTypes=\<bool\></dt>
+ <dd>
+ Default: false \n
+ If set to true, all Enum items whose enums are named will use enum types for
+ the return value of accessor functions and for the parameter of mutator
+ functions. This eliminates the need to cast accessor return values to the enum
+ type if you want to use the enum type in your own code. If set to false,
+ accessor return values and mutator parameters will be of type int.
+ </dd>
+
+ <dt>ForceStringFilename=\<bool\></dt>
+ <dd>
+ Default: false \n
+ If set to true, forces the first parameter of the generated class
+ to be a QString when using an argument for the filename.
+ This is useful to specify at runtime the filename of the configuration class.
+ </dd>
+
+ <dt>GenerateProperties=\<bool\></dt>
+ <dd>
+ Default: false \n
+ If set to true, a Q_PROPERTY will be generated for each member variable holding a
+ configuration value and the Q_OBJECT macro will be added to the generated class.
+ Note that you will also need to pass the GENERATE_MOC option to the
+ kconfig_add_kcfg_files macro.
+ </dd>
+
+
+ <dt>ParentInConstructor=\<bool\></dt>
+ <dd>
+ Default: false \n
+ If set to true, the generated constructor will take an additional QObject*
+ parameter that will be used as the object's parent.
+ This is useful when working with KQuickAddons::ManagedConfigModule
+ to set it as the parent of the generated class to allow automatic
+ settings discovery and handle the deallocation.
+ Note this parameter is incompatible with <b>Singleton</b> set to true.
+ </dd>
+
+ <dt>TranslationSystem=\<string\></dt>
+ <dd>
+ Default: qt \n
+ Set the translation system for label, tooltip and whatsthis text in generated KConfigSkeleton.
+ Set the value to <b>kde</b> to use the KDE Framework translation system, see KI18n.
+ </dd>
+
+ <dt>TranslationDomain=\<value\></dt>
+ <dd>
+ When <b>TranslationSystem=kde</b> is set, allow to specify the domain in which to look for translations.
+ </dd>
+
+ <dt>QmlRegistration=\<bool></dt>
+ <dd>
+ Default: false\n
+ If set to true the generated code will use the QML_ELEMENT macro to register the type to QML.
+ If Singleton is also true it will be registered as a QML singleton using QML_SINGLETON
+
+ </dd>
+
+</dl>
+
+
+\section entry_options Advanced entry options
+
+There are several possibilities to parameterize entries.
+
+\subsection parametrized_entries Parameterized entries
+
+An entry can be parameterized using a fixed range parameter specified with
+the \<parameter\> tag. Such parameter can either be an Enum or an int. An Enum
+parameter should specify the possible enumeration values with the \<choices\>
+tag. An int parameter should specify its maximum value. Its minimum value
+is always 0.
+
+A parameterized entry is expanded to a number of entries, one for each
+value in the parameter range. The name and key should contain a reference
+to the parameter in the form of $(parameter-name). When expanding the entries
+the $(parameter-name) part is replaced with the value of the parameter.
+In the case of an Enum parameter it is replaced with the name of the
+enumuration value. In the case of an int parameter it is replaced with
+the numeric value of the parameter.
+
+Parameterized entries all share the same default value unless different
+default values have been specified for specific parameter values.
+This can be done with the param= attribute of the \<default\>. When a
+param attribute is specified the default value only applies to that
+particular parameter value.
+
+Example 1:
+\code{.xml}
+<entry name="Color$(ColorIndex)" type="Color" key="color_$(ColorIndex)">
+ <parameter name="ColorIndex" type="Int" max="3"/>
+ <default param="0">#ff0000</default>
+ <default param="1">#00ff00</default>
+ <default param="2">#0000ff</default>
+ <default param="3">#ffff00</default>
+</entry>
+\endcode
+
+The above describes 4 color configuration entries with the following defaults:
+
+\verbatim
+color_0=#ff0000
+color_1=#00ff00
+color_2=#0000ff
+color_3=#ffff00
+\endverbatim
+
+The configuration options will be accessible to the application via
+a QColor color(int ColorIndex) and a
+void setColor(int ColorIndex, const QColor &v) function.
+
+Example 2:
+\code{.xml}
+<entry name="Sound$(SoundEvent)" type="String" key="sound_$(SoundEvent)">
+ <parameter name="SoundEvent" type="Enum">
+ <values>
+ <value>Explosion</value>
+ <value>Crash</value>
+ <value>Missile</value>
+ </values>
+ </parameter>
+ <default param="Explosion">boom.wav</default>
+ <default param="Crash">crash.wav</default>
+ <default param="Missile">missile.wav</default>
+</entry>
+\endcode
+
+The above describes 3 string configuration entries with the following defaults:
+
+\verbatim
+sound_Explosion=boom.wav
+sound_Crash=crash.wav
+sound_Missile=missile.wav
+\endverbatim
+
+The configuration options will be accessible to the application via
+a QString sound(int SoundEvent) and a
+void setSound(int SoundEvent, const QString &v) function.
+
+\subsection parametrized_groups Parameterized groups
+
+A group name can be parametrized using a parameter given to the KConfigSkeleton
+instance (which means this feature cannot be used with singleton classes).
+
+Example 1:
+\code{.xml}
+<kcfgfile name="testrc">
+ <parameter name="groupname"/>
+</kcfgfile>
+<group name="$(groupname)">
+ <entry key="Text" type="string">
+ </entry>
+</group>
+\endcode
+
+In this case passing "Group2" as the 'groupname' parameter to the generated class
+will make it use group "Group2" for the entry "Text".
+
+By setting the stateConfig attribute of kcfgfile to "true", KSharedConfig::openStateConfig is used.
+This should be used when one stores volatile data, like window sizes or autocompletion texts.
+It is recommended to have at least two separate kcfg files for the different kinds of data.
+NOTE: This option is ignored when ForceStringFilename is set.
+
+\subsection enums Enums
+
+By default, if <b>GlobalEnums</b> is set to false, a separate named enum will be generated
+for each Enum entry. Since each enum is defined in a little enclosing class of its own,
+this allows the same Enum value names to be used in different enums. For example, the
+.kcfg entry
+
+\code{.xml}
+<entry name="KeepData" type="Enum">
+ <choices>
+ <choice name="Do"/>
+ <choice name="Dont" value="Don't"/>
+ </choices>
+</entry>
+\endcode
+
+will generate this public class containing the enum definition, inside the generated class:
+
+\code{.cpp}
+class EnumKeepData
+{
+ public:
+ enum type { Do, Dont, COUNT };
+};
+\endcode
+
+Since 5.68, if present the <b>value</b> attribute will be used as the choice value written to the backend
+instead of the <b>name</b>, allowing to write text incompatible with enum naming.
+
+Alternatively, if <b>GlobalEnums</b> is set to true, all Enum items are defined as
+unnamed enums in the global scope of the generated class. In this case, all Enum values
+must have different names to avoid clashes. However, you can use a 'prefix' argument
+in \<choices\> to prevent duplicate enum member names clashing. Using this, the Enum value
+names are prefixed in code with the string you specify. For example, if <b>GlobalEnums</b>
+is set to true, the .kcfg entry
+
+\code{.xml}
+<entry name="KeepData" type="Enum">
+ <choices prefix="Keep_">
+ <choice name="Do"/>
+ <choice name="Dont" value="Don't"/>
+ </choices>
+</entry>
+\endcode
+
+will generate config file entries of "KeepData=Do" and "KeepData=Dont", but the enum
+will be declared
+
+\code{.cpp}
+enum { Keep_Do, Keep_Dont };
+\endcode
+
+It is possible to specify your own name for a generated enum, by including a
+'name' parameter in \<choices\>. Just like unnamed enums, this enum will be defined in
+the global scope of the generated class (without any enclosing class of its own).
+Therefore the names of Enum values must be unique across both unnamed enums (if
+<b>GlobalEnums</b> is set to true) and all specifically named enums.
+
+An example of a specifically named enum:
+
+\code{.xml}
+<entry name="KeepData" type="Enum">
+ <choices name="Types">
+ <choice name="Do"/>
+ <choice name="Dont"/>
+ </choices>
+</entry>
+\endcode
+
+which results in the following enum declaration, inside the generated class:
+
+\code{.cpp}
+enum Types { Do, Dont };
+\endcode
+
+It is also possible to specify the use of enums external to the generated class, by
+including the string "::" in the enum name - just ensure that it is sufficiently
+qualified to be unambiguous in use. To specify use of an unnamed enum, append a
+trailing "::". For example, to use the enum 'myEnum' defined in class ClassA, use
+either of
+
+\code{.xml}
+<choices name="ClassA::myEnum">
+<choices name="::ClassA::myEnum">
+\endcode
+
+To specify an unnamed enum in namespace ProgSpace, use
+
+\code{.xml}
+<choices name="ProgSpace::">
+\endcode
+
+To specify a top-level unnamed enum, use
+
+\code{.xml}
+<choices name="::">
+\endcode
+
+To specify the top-level enum 'anotherEnum', use
+
+\code{.xml}
+
+<choices name="::anotherEnum">
+\endcode
+
+
+\subsection notify_signals Notify signals
+
+An entry can emit a signal when it gets changed. First of all, you must
+define a list of signals for the configuration class. The signal's name may be
+any legal identifier you wish. The \<argument\> tag allows you to specify arguments
+for the emitted signal. It supports all types as defined in
+the KConfigXT DTD. The argument value must specify the name, without spaces, of one
+of the entries defined in the .kcfg file.
+A signal definition can also contain a \<label\> tag which will be
+the documentation line in the generated file.
+
+\code{.xml}
+<signal name="emoticonSettingsChanged" />
+
+<signal name="styleChanged">
+ <label>Tell when a complete style change.</label>
+ <argument type="String">stylePath</argument>
+ <argument type="String">StyleCSSVariant</argument>
+</signal>
+\endcode
+
+After defining the signals, you must tell which signal to emit for the entry.
+A signal can be emitted by multiple entries. Also, you don't need to specify the arguments
+for a signal, the signal name will suffice.
+
+\code{.xml}
+<entry key="stylePath" type="String">
+ <label>Absolute path to a directory containing a Adium/Kopete chat window style.</label>
+ <emit signal="styleChanged" />
+</entry>
+\endcode
+
+The signal will be emitted when save() is called.
+
+@warning
+You must not call save() in direct response to any notify signal.
+If you need to call save(),
+use a QueuedConnection to listen to the notify signal.
+
+You can also listen to the generic configChanged() signal from KConfigSkeleton to
+notify your application about configuration changes.
+In that case you may also call save() in direct response.
+
+Note that you will also need to pass the GENERATE_MOC option to the kconfig_add_kcfg_files macro.
+
+\subsection translation_context Translation context
+
+In the kcfg file you can specify the translation's context for \<tooltip\>, \<whatsthis\> and \<label\> element for an entry.
+
+\code{.xml}
+<entry type="Bool" key="Auto Save">
+ <label>Enable automatic saving of calendar</label>
+ <whatsthis context="@info:whatsthis">Enable automatic saving of calendars to have calendars saved automatically.</whatsthis>
+ <default>false</default>
+</entry>
+\endcode
+
+For more information on translation context and how to write good translatable text,
+please refer to https://api.kde.org/frameworks/ki18n/html/prg_guide.html
+
+*/
--- /dev/null
+#!/usr/bin/perl
+
+if ( @ARGV < 1 ) {
+ print STDERR "Missing arg: filename\n";
+ exit 1;
+}
+
+$file = $ARGV[0];
+
+$file =~ /^(.*)\.[^\.]*$/;
+$filebase = $1;
+
+$header_extension = @ARGV > 1 ? $ARGV[1] : "h";
+$source_extension = @ARGV > 2 ? $ARGV[2] : "cpp";
+$file_h = "$filebase.$header_extension";
+$file_cpp = "$filebase.$source_extension";
+
+$kcfgc = $file . "c";
+
+$cmd = "./kconfig_compiler_kf6 $file $kcfgc";
+
+#print "CMD $cmd\n";
+
+if ( system( $cmd ) != 0 ) {
+ print STDERR "Unable to run kconfig_compiler_kf6\n";
+ exit 1;
+}
+
+checkfile( $file_h );
+checkfile( $file_cpp );
+
+exit 0;
+
+sub checkfile()
+{
+ my $file = shift;
+
+ $file =~ /\/([^\/]*)$/;
+ my $filename = $1;
+
+ print "Checking '$filename':\n";
+
+ my @ref;
+ if ( !open( REF, "$file.ref" ) ) {
+ print STDERR "Unable to open $file.ref\n";
+ exit 1;
+ }
+ while( <REF> ) {
+ push @ref, $_;
+ }
+ close REF;
+
+ if ( !open( READ, $filename ) ) {
+ print STDERR "Unable to open $filename\n";
+ exit 1;
+ }
+
+ $error = 0;
+ $i = 0;
+ $line = 1;
+ while( <READ> ) {
+ $out = $_;
+ $ref = @ref[$i++];
+
+ if ( $out ne $ref ) {
+ $error++;
+ print " Line $line: Expected : $ref";
+ print " Line $line: Compiler output : $out";
+ }
+
+ $line++;
+ }
+
+ close READ;
+
+ if ( $error > 0 ) {
+ print "\n FAILED: $error errors found.\n";
+ if ( $error > 5 ) {
+ system( "diff -u $file.ref $filename" );
+ }
+ exit 1;
+ } else {
+ print " OK\n";
+ }
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- kcfg XSD v1.0 -->
+<xsd:schema
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:kcfg="http://www.kde.org/standards/kcfg/1.0"
+ targetNamespace="http://www.kde.org/standards/kcfg/1.0"
+ version="1.0"
+ elementFormDefault="qualified" >
+
+ <xsd:annotation>
+ <xsd:documentation>
+
+ SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+ SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+ SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
+ SPDX-FileCopyrightText: 2004 Frans Englich <frans.englich@telia.com>
+ SPDX-FileCopyrightText: 2006 Michaël Larouche <michael.larouche@kdemail.net>
+
+ Permission to use, copy, modify and distribute this DTD
+ and its accompanying documentation for any purpose and without fee
+ is hereby granted in perpetuity, provided that the above copyright
+ notice and this paragraph appear in all copies. The copyright
+ holders make no representation about the suitability of the DTD for
+ any purpose. It is provided "as is" without expressed or implied
+ warranty.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:annotation>
+ <xsd:documentation>
+
+ A Schema for KDE's KConfigXT XML format. It is similar to the DTD
+ found at:
+
+ http://www.kde.org/standards/kcfg/1.0/kcfg.dtd
+
+ Documents valid against the Schema version are backwards compatible
+ to the DTD. Validating against the Schema instead of the DTD is
+ recommended, since the former provides better validation.
+
+ A document instance of this Schema should have a declaration
+ looking like this:
+
+ <![CDATA[
+
+ <?xml version="1.0" encoding="UTF-8" ?>
+ <kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <!-- the content -->
+ </kcfg>
+
+ ]]>
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:element name="kcfg">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="include" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/>
+ <xsd:element name="kcfgfile" minOccurs="0" maxOccurs="1" >
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="parameter" type="kcfg:parameter" minOccurs="0" maxOccurs="unbounded" />
+ <!-- FIXME: Are really unbounded occurrences of parameter allowed? -->
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="stateConfig" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="arg" type="xsd:boolean" use="optional"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="signal" type="kcfg:signal" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="group" maxOccurs="unbounded" >
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="entry" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="parameter" minOccurs="0" type="kcfg:parameter"/>
+ <xsd:element name="label" minOccurs="0" type="kcfg:translatableString"/>
+ <xsd:element name="whatsthis" minOccurs="0" type="kcfg:translatableString"/>
+ <xsd:element name="tooltip" minOccurs="0" type="kcfg:translatableString"/>
+ <xsd:element name="choices" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="choice" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:all>
+ <xsd:element minOccurs="0" name="label" type="kcfg:translatableString"/>
+ <xsd:element minOccurs="0" name="whatsthis" type="kcfg:translatableString"/>
+ <xsd:element minOccurs="0" name="tooltip" type="kcfg:translatableString"/>
+ </xsd:all>
+ <xsd:attribute name="name" use="required" type="xsd:string"/>
+ <xsd:attribute name="value" use="optional" type="xsd:string"/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="name" use="optional" type="xsd:string"/>
+ <xsd:attribute name="prefix" use="optional" type="xsd:string"/>
+
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="code" minOccurs="0" type="kcfg:code"/>
+
+ <xsd:element name="default" maxOccurs="unbounded" minOccurs="0" >
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute use="optional" name="code" type="xsd:boolean"/>
+ <xsd:attribute use="optional" name="param" type="xsd:string"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="min" minOccurs="0" >
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="code" type="xsd:boolean"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="max" minOccurs="0">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="code" type="xsd:boolean"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="emit" minOccurs="0">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="signal" use="required" type="xsd:string"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ </xsd:choice>
+ <xsd:attribute name="name" use="optional" type="xsd:string"/>
+ <xsd:attribute name="key" use="optional" type="xsd:string"/>
+ <xsd:attribute name="hidden" use="optional" type="xsd:boolean"/>
+ <xsd:attribute name="type" type="kcfg:datatype"/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string"/>
+ <xsd:attribute name="parentGroupName" use="optional" type="xsd:string"/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:simpleType name="datatype">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="String"/>
+ <xsd:enumeration value="StringList"/>
+ <xsd:enumeration value="Font"/>
+ <xsd:enumeration value="Rect"/>
+ <xsd:enumeration value="RectF"/>
+ <xsd:enumeration value="Size"/>
+ <xsd:enumeration value="SizeF"/>
+ <xsd:enumeration value="Color"/>
+ <xsd:enumeration value="Point"/>
+ <xsd:enumeration value="PointF"/>
+ <xsd:enumeration value="Int"/>
+ <xsd:enumeration value="UInt"/>
+ <xsd:enumeration value="Bool"/>
+ <xsd:enumeration value="Double"/>
+ <xsd:enumeration value="DateTime"/>
+ <xsd:enumeration value="LongLong"/>
+ <xsd:enumeration value="ULongLong"/>
+ <xsd:enumeration value="IntList"/>
+ <xsd:enumeration value="Enum"/>
+ <xsd:enumeration value="Path"/>
+ <xsd:enumeration value="PathList"/>
+ <xsd:enumeration value="Password"/>
+ <xsd:enumeration value="Url"/>
+ <xsd:enumeration value="UrlList"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:complexType name="parameter">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="values">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" maxOccurs="unbounded" type="xsd:string"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string"/>
+ <xsd:attribute name="type" use="optional" type="kcfg:datatype" />
+ <xsd:attribute name="max" use="optional" type="xsd:positiveInteger"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="code">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string"/>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="signal">
+ <xsd:sequence>
+ <xsd:element name="label" minOccurs="0" type="xsd:string"/>
+ <xsd:element name="argument" maxOccurs="unbounded" minOccurs="0" >
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute use="required" name="type" type="kcfg:datatype"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ </xsd:complexType>
+
+ <xsd:complexType name="translatableString">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute use="optional" name="context" type="xsd:string"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+</xsd:schema>
--- /dev/null
+/*
+ This file is part of KDE.
+
+ SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
+ SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
+ SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
+ SPDX-FileCopyrightText: 2006 Michaël Larouche <michael.larouche@kdemail.net>
+ SPDX-FileCopyrightText: 2008 Allen Winter <winter@kde.org>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include <QCommandLineOption>
+#include <QCommandLineParser>
+#include <QCoreApplication>
+#include <QDomAttr>
+#include <QFile>
+#include <QFileInfo>
+#include <QRegularExpression>
+#include <QSettings>
+#include <QStringList>
+#include <QTextStream>
+
+#include <algorithm>
+#include <iostream>
+#include <ostream>
+#include <stdlib.h>
+
+#include "../core/kconfig_version.h"
+#include "KConfigCommonStructs.h"
+#include "KConfigHeaderGenerator.h"
+#include "KConfigParameters.h"
+#include "KConfigSourceGenerator.h"
+#include "KConfigXmlParser.h"
+
+QString varName(const QString &n, const KConfigParameters &cfg)
+{
+ QString result;
+ if (!cfg.dpointer) {
+ result = QChar::fromLatin1('m') + n;
+ result[1] = result.at(1).toUpper();
+ } else {
+ result = n;
+ result[0] = result.at(0).toLower();
+ }
+ return result;
+}
+
+QString varPath(const QString &n, const KConfigParameters &cfg)
+{
+ QString result;
+ if (cfg.dpointer) {
+ result = QLatin1String{"d->"} + varName(n, cfg);
+ } else {
+ result = varName(n, cfg);
+ }
+ return result;
+}
+
+QString enumName(const QString &n)
+{
+ QString result = QLatin1String("Enum") + n;
+ result[4] = result.at(4).toUpper();
+ return result;
+}
+
+QString enumName(const QString &n, const CfgEntry::Choices &c)
+{
+ QString result = c.name();
+ if (result.isEmpty()) {
+ result = QLatin1String("Enum") + n;
+ result[4] = result.at(4).toUpper();
+ }
+ return result;
+}
+
+QString enumType(const CfgEntry *e, bool globalEnums)
+{
+ QString result = e->choices.name();
+ if (result.isEmpty()) {
+ result = QLatin1String("Enum") + e->name;
+ if (!globalEnums) {
+ result += QLatin1String("::type");
+ }
+ result[4] = result.at(4).toUpper();
+ }
+ return result;
+}
+
+QString enumTypeQualifier(const QString &n, const CfgEntry::Choices &c)
+{
+ QString result = c.name();
+ if (result.isEmpty()) {
+ result = QLatin1String("Enum") + n + QLatin1String("::");
+ result[4] = result.at(4).toUpper();
+ } else if (c.external()) {
+ result = c.externalQualifier();
+ } else {
+ result.clear();
+ }
+ return result;
+}
+
+QString setFunction(const QString &n, const QString &className)
+{
+ QString result = QLatin1String("set") + n;
+ result[3] = result.at(3).toUpper();
+
+ if (!className.isEmpty()) {
+ result = className + QLatin1String("::") + result;
+ }
+ return result;
+}
+
+QString changeSignalName(const QString &n)
+{
+ return n + QLatin1String{"Changed"};
+}
+
+QString getDefaultFunction(const QString &n, const QString &className)
+{
+ QString result = QLatin1String("default%1Value").arg(n);
+ result[7] = result.at(7).toUpper();
+
+ if (!className.isEmpty()) {
+ result.prepend(className + QLatin1String("::"));
+ }
+ return result;
+}
+
+QString getFunction(const QString &n, const QString &className)
+{
+ QString result = n;
+ result[0] = result.at(0).toLower();
+
+ if (!className.isEmpty()) {
+ result.prepend(className + QLatin1String("::"));
+ }
+ return result;
+}
+
+QString immutableFunction(const QString &n, const QString &className)
+{
+ QString result = QLatin1String("is") + n;
+ result[2] = result.at(2).toUpper();
+ result += QLatin1String{"Immutable"};
+
+ if (!className.isEmpty()) {
+ result.prepend(className + QLatin1String("::"));
+ }
+ return result;
+}
+
+void addQuotes(QString &s)
+{
+ if (!s.startsWith(QLatin1Char('"'))) {
+ s.prepend(QLatin1Char('"'));
+ }
+ if (!s.endsWith(QLatin1Char('"'))) {
+ s.append(QLatin1Char('"'));
+ }
+}
+
+static QString quoteString(const QString &s)
+{
+ QString r = s;
+ r.replace(QLatin1Char('\\'), QLatin1String("\\\\"));
+ r.replace(QLatin1Char('\"'), QLatin1String("\\\""));
+ r.remove(QLatin1Char('\r'));
+ r.replace(QLatin1Char('\n'), QLatin1String("\\n\"\n\""));
+ return QLatin1Char('\"') + r + QLatin1Char('\"');
+}
+
+QString literalString(const QString &str)
+{
+ const bool isAscii = std::none_of(str.cbegin(), str.cend(), [](const QChar ch) {
+ return ch.unicode() > 127;
+ });
+
+ if (isAscii) {
+ return QLatin1String("QStringLiteral( %1 )").arg(quoteString(str));
+ } else {
+ return QLatin1String("QString::fromUtf8( %1 )").arg(quoteString(str));
+ }
+}
+
+QString signalEnumName(const QString &signalName)
+{
+ QString result;
+ result = QLatin1String("signal") + signalName;
+ result[6] = result.at(6).toUpper();
+
+ return result;
+}
+
+bool isUnsigned(const QString &type)
+{
+ return type == QLatin1String("UInt") || type == QLatin1String("ULongLong");
+}
+
+/**
+ Return parameter declaration for given type.
+*/
+QString param(const QString &t)
+{
+ const QString type = t.toLower();
+ if (type == QLatin1String("string")) {
+ return QStringLiteral("const QString &");
+ } else if (type == QLatin1String("stringlist")) {
+ return QStringLiteral("const QStringList &");
+ } else if (type == QLatin1String("font")) {
+ return QStringLiteral("const QFont &");
+ } else if (type == QLatin1String("rect")) {
+ return QStringLiteral("const QRect &");
+ } else if (type == QLatin1String("rectf")) {
+ return QStringLiteral("const QRectF &");
+ } else if (type == QLatin1String("size")) {
+ return QStringLiteral("const QSize &");
+ } else if (type == QLatin1String("sizef")) {
+ return QStringLiteral("const QSizeF &");
+ } else if (type == QLatin1String("color")) {
+ return QStringLiteral("const QColor &");
+ } else if (type == QLatin1String("point")) {
+ return QStringLiteral("const QPoint &");
+ } else if (type == QLatin1String("pointf")) {
+ return QStringLiteral("const QPointF &");
+ } else if (type == QLatin1String("int")) {
+ return QStringLiteral("int");
+ } else if (type == QLatin1String("uint")) {
+ return QStringLiteral("uint");
+ } else if (type == QLatin1String("bool")) {
+ return QStringLiteral("bool");
+ } else if (type == QLatin1String("double")) {
+ return QStringLiteral("double");
+ } else if (type == QLatin1String("datetime")) {
+ return QStringLiteral("const QDateTime &");
+ } else if (type == QLatin1String("longlong")) {
+ return QStringLiteral("qint64");
+ } else if (type == QLatin1String("ulonglong")) {
+ return QStringLiteral("quint64");
+ } else if (type == QLatin1String("intlist")) {
+ return QStringLiteral("const QList<int> &");
+ } else if (type == QLatin1String("enum")) {
+ return QStringLiteral("int");
+ } else if (type == QLatin1String("path")) {
+ return QStringLiteral("const QString &");
+ } else if (type == QLatin1String("pathlist")) {
+ return QStringLiteral("const QStringList &");
+ } else if (type == QLatin1String("password")) {
+ return QStringLiteral("const QString &");
+ } else if (type == QLatin1String("url")) {
+ return QStringLiteral("const QUrl &");
+ } else if (type == QLatin1String("urllist")) {
+ return QStringLiteral("const QList<QUrl> &");
+ } else {
+ std::cerr << "kconfig_compiler_kf6 does not support type \"" << qPrintable(type) << "\"" << std::endl;
+ return QStringLiteral("QString"); // For now, but an assert would be better
+ }
+}
+
+/**
+ Actual C++ storage type for given type.
+*/
+QString cppType(const QString &t)
+{
+ const QString type = t.toLower();
+ if (type == QLatin1String("string")) {
+ return QStringLiteral("QString");
+ } else if (type == QLatin1String("stringlist")) {
+ return QStringLiteral("QStringList");
+ } else if (type == QLatin1String("font")) {
+ return QStringLiteral("QFont");
+ } else if (type == QLatin1String("rect")) {
+ return QStringLiteral("QRect");
+ } else if (type == QLatin1String("rectf")) {
+ return QStringLiteral("QRectF");
+ } else if (type == QLatin1String("size")) {
+ return QStringLiteral("QSize");
+ } else if (type == QLatin1String("sizef")) {
+ return QStringLiteral("QSizeF");
+ } else if (type == QLatin1String("color")) {
+ return QStringLiteral("QColor");
+ } else if (type == QLatin1String("point")) {
+ return QStringLiteral("QPoint");
+ } else if (type == QLatin1String("pointf")) {
+ return QStringLiteral("QPointF");
+ } else if (type == QLatin1String("int")) {
+ return QStringLiteral("int");
+ } else if (type == QLatin1String("uint")) {
+ return QStringLiteral("uint");
+ } else if (type == QLatin1String("bool")) {
+ return QStringLiteral("bool");
+ } else if (type == QLatin1String("double")) {
+ return QStringLiteral("double");
+ } else if (type == QLatin1String("datetime")) {
+ return QStringLiteral("QDateTime");
+ } else if (type == QLatin1String("longlong")) {
+ return QStringLiteral("qint64");
+ } else if (type == QLatin1String("ulonglong")) {
+ return QStringLiteral("quint64");
+ } else if (type == QLatin1String("intlist")) {
+ return QStringLiteral("QList<int>");
+ } else if (type == QLatin1String("enum")) {
+ return QStringLiteral("int");
+ } else if (type == QLatin1String("path")) {
+ return QStringLiteral("QString");
+ } else if (type == QLatin1String("pathlist")) {
+ return QStringLiteral("QStringList");
+ } else if (type == QLatin1String("password")) {
+ return QStringLiteral("QString");
+ } else if (type == QLatin1String("url")) {
+ return QStringLiteral("QUrl");
+ } else if (type == QLatin1String("urllist")) {
+ return QStringLiteral("QList<QUrl>");
+ } else {
+ std::cerr << "kconfig_compiler_kf6 does not support type \"" << qPrintable(type) << "\"" << std::endl;
+ return QStringLiteral("QString"); // For now, but an assert would be better
+ }
+}
+
+QString defaultValue(const QString &t)
+{
+ const QString type = t.toLower();
+ if (type == QLatin1String("string")) {
+ return QStringLiteral("\"\""); // Use empty string, not null string!
+ } else if (type == QLatin1String("stringlist")) {
+ return QStringLiteral("QStringList()");
+ } else if (type == QLatin1String("font")) {
+ return QStringLiteral("QFont()");
+ } else if (type == QLatin1String("rect")) {
+ return QStringLiteral("QRect()");
+ } else if (type == QLatin1String("rectf")) {
+ return QStringLiteral("QRectF()");
+ } else if (type == QLatin1String("size")) {
+ return QStringLiteral("QSize()");
+ } else if (type == QLatin1String("sizef")) {
+ return QStringLiteral("QSizeF()");
+ } else if (type == QLatin1String("color")) {
+ return QStringLiteral("QColor(128, 128, 128)");
+ } else if (type == QLatin1String("point")) {
+ return QStringLiteral("QPoint()");
+ } else if (type == QLatin1String("pointf")) {
+ return QStringLiteral("QPointF()");
+ } else if (type == QLatin1String("int")) {
+ return QStringLiteral("0");
+ } else if (type == QLatin1String("uint")) {
+ return QStringLiteral("0");
+ } else if (type == QLatin1String("bool")) {
+ return QStringLiteral("false");
+ } else if (type == QLatin1String("double")) {
+ return QStringLiteral("0.0");
+ } else if (type == QLatin1String("datetime")) {
+ return QStringLiteral("QDateTime()");
+ } else if (type == QLatin1String("longlong")) {
+ return QStringLiteral("0");
+ } else if (type == QLatin1String("ulonglong")) {
+ return QStringLiteral("0");
+ } else if (type == QLatin1String("intlist")) {
+ return QStringLiteral("QList<int>()");
+ } else if (type == QLatin1String("enum")) {
+ return QStringLiteral("0");
+ } else if (type == QLatin1String("path")) {
+ return QStringLiteral("\"\""); // Use empty string, not null string!
+ } else if (type == QLatin1String("pathlist")) {
+ return QStringLiteral("QStringList()");
+ } else if (type == QLatin1String("password")) {
+ return QStringLiteral("\"\""); // Use empty string, not null string!
+ } else if (type == QLatin1String("url")) {
+ return QStringLiteral("QUrl()");
+ } else if (type == QLatin1String("urllist")) {
+ return QStringLiteral("QList<QUrl>()");
+ } else {
+ std::cerr << "Error, kconfig_compiler_kf6 does not support the \"" << qPrintable(type) << "\" type!" << std::endl;
+ return QStringLiteral("QString"); // For now, but an assert would be better
+ }
+}
+
+QString itemType(const QString &type)
+{
+ if (type.isEmpty()) {
+ return QString{};
+ }
+
+ QString str = type;
+ str[0] = str.at(0).toUpper();
+
+ return str;
+}
+
+QString itemDeclaration(const CfgEntry *e, const KConfigParameters &cfg)
+{
+ if (e->name.isEmpty()) {
+ return QString{};
+ }
+
+ const QString type = cfg.inherits + QLatin1String{"::Item"} + itemType(e->type);
+
+ QString fCap = e->name;
+ fCap[0] = fCap.at(0).toUpper();
+ const QString argSuffix = (!e->param.isEmpty()) ? (QStringLiteral("[%1]").arg(e->paramMax + 1)) : QString();
+ QString result;
+
+ if (!cfg.itemAccessors && !cfg.dpointer) {
+ result += QLatin1String{" "} + (!e->signalList.isEmpty() ? QStringLiteral("KConfigCompilerSignallingItem") : type);
+ result += QLatin1String(" *item%1;\n").arg(fCap + argSuffix);
+ }
+
+ if (!e->signalList.isEmpty()) {
+ result += QLatin1String(" %1 *%2;\n").arg(type, innerItemVar(e, cfg) + argSuffix);
+ }
+
+ return result;
+}
+
+// returns the name of an item variable
+// use itemPath to know the full path
+// like using d-> in case of dpointer
+QString itemVar(const CfgEntry *e, const KConfigParameters &cfg)
+{
+ QString result;
+ if (cfg.itemAccessors) {
+ if (!cfg.dpointer) {
+ result = QLatin1String("m%1Item").arg(e->name);
+ result[1] = result.at(1).toUpper();
+ } else {
+ result = e->name + QLatin1String{"Item"};
+ result[0] = result.at(0).toLower();
+ }
+ } else {
+ result = QLatin1String{"item"} + e->name;
+ result[4] = result.at(4).toUpper();
+ }
+ return result;
+}
+
+// returns the name of the local inner item if there is one
+// (before wrapping with KConfigCompilerSignallingItem)
+// Otherwise return itemVar()
+QString innerItemVar(const CfgEntry *e, const KConfigParameters &cfg)
+{
+ if (e->signalList.isEmpty()) {
+ return itemPath(e, cfg);
+ }
+
+ QString result = QLatin1String{"innerItem"} + e->name;
+ result[9] = result.at(9).toUpper();
+ return result;
+}
+
+QString itemPath(const CfgEntry *e, const KConfigParameters &cfg)
+{
+ return cfg.dpointer ? QLatin1String{"d->"} + itemVar(e, cfg) : itemVar(e, cfg);
+}
+
+QString newInnerItem(const CfgEntry *entry, const QString &key, const QString &defaultValue, const KConfigParameters &cfg, const QString ¶m)
+{
+ QString str = QLatin1String("new %1::Item%2").arg(cfg.inherits, itemType(entry->type));
+ str += QLatin1String("( currentGroup(), %1, %2").arg(key, varPath(entry->name, cfg) + param);
+
+ if (entry->type == QLatin1String("Enum")) {
+ str += QLatin1String{", values"} + entry->name;
+ }
+ if (!defaultValue.isEmpty()) {
+ str += QLatin1String(", ") + defaultValue;
+ }
+ str += QLatin1String(" );");
+
+ return str;
+}
+
+QString newItem(const CfgEntry *entry, const QString &key, const QString &defaultValue, const KConfigParameters &cfg, const QString ¶m)
+{
+ const QList<Signal> sigs = entry->signalList;
+ if (sigs.isEmpty()) {
+ return newInnerItem(entry, key, defaultValue, cfg, param);
+ }
+
+ QString str;
+ str += QLatin1String("new KConfigCompilerSignallingItem(%1, this, notifyFunction, ").arg(innerItemVar(entry, cfg) + param);
+ // Append the signal flags
+ const int listSize = sigs.size();
+ for (int i = 0; i < listSize; ++i) {
+ if (i != 0) {
+ str += QLatin1String(" | ");
+ }
+ str += signalEnumName(sigs[i].name);
+ }
+ str += QLatin1String(");");
+
+ return str;
+}
+
+QString paramString(const QString &s, const CfgEntry *e, int i)
+{
+ QString result = s;
+ const QString needle = QLatin1String("$(%1)").arg(e->param);
+ if (result.contains(needle)) {
+ const QString tmp = e->paramType == QLatin1String{"Enum"} ? e->paramValues.at(i) : QString::number(i);
+
+ result.replace(needle, tmp);
+ }
+ return result;
+}
+
+QString paramString(const QString &group, const QList<Param> ¶meters)
+{
+ QString paramString = group;
+ QString arguments;
+ int i = 1;
+ bool firstArg = true;
+ for (const auto ¶m : parameters) {
+ const QString paramName = param.name;
+ const QString str = QLatin1String("$(%1)").arg(paramName);
+ if (paramString.contains(str)) {
+ const QString tmp = QStringLiteral("%%1").arg(i++);
+ paramString.replace(str, tmp);
+
+ if (firstArg) {
+ arguments += QLatin1String{".arg( "};
+ firstArg = false;
+ }
+
+ arguments += QLatin1String("mParam%1, ").arg(paramName);
+ }
+ }
+
+ if (!arguments.isEmpty()) {
+ // Remove the last ", "
+ arguments.chop(2);
+
+ // Close the ".arg( "
+ arguments += QLatin1String{" )"};
+ } else {
+ return QLatin1String("QStringLiteral( \"%1\" )").arg(group);
+ }
+
+ return QLatin1String("QStringLiteral( \"%1\" )%2").arg(paramString, arguments);
+}
+
+QString translatedString(const KConfigParameters &cfg, const QString &string, const QString &context, const QString ¶m, const QString ¶mValue)
+{
+ QString result;
+
+ switch (cfg.translationSystem) {
+ case KConfigParameters::QtTranslation:
+ if (!context.isEmpty()) {
+ result += QLatin1String("/*: %1 */ QCoreApplication::translate(\"").arg(context);
+ } else {
+ result += QLatin1String{"QCoreApplication::translate(\""};
+ }
+ result += QLatin1String("%1\", ").arg(cfg.className);
+ break;
+
+ case KConfigParameters::KdeTranslation:
+ if (!cfg.translationDomain.isEmpty() && !context.isEmpty()) {
+ result += QLatin1String("i18ndc(%1, %2, ").arg(quoteString(cfg.translationDomain), quoteString(context));
+ } else if (!cfg.translationDomain.isEmpty()) {
+ result += QLatin1String("i18nd(%1, ").arg(quoteString(cfg.translationDomain));
+ } else if (!context.isEmpty()) {
+ result += QLatin1String("i18nc(%1, ").arg(quoteString(context));
+ } else {
+ result += QLatin1String{"i18n("};
+ }
+ break;
+ }
+
+ if (!param.isEmpty()) {
+ QString resolvedString = string;
+ resolvedString.replace(QLatin1String("$(%1)").arg(param), paramValue);
+ result += quoteString(resolvedString);
+ } else {
+ result += quoteString(string);
+ }
+
+ result += QLatin1Char{')'};
+
+ return result;
+}
+
+/* int i is the value of the parameter */
+QString userTextsFunctions(const CfgEntry *e, const KConfigParameters &cfg, QString itemVarStr, const QString &i)
+{
+ QString txt;
+ if (itemVarStr.isNull()) {
+ itemVarStr = itemPath(e, cfg);
+ }
+ if (!e->label.isEmpty()) {
+ txt += QLatin1String(" %1->setLabel( %2 );\n").arg(itemVarStr, translatedString(cfg, e->label, e->labelContext, e->param, i));
+ }
+ if (!e->toolTip.isEmpty()) {
+ txt += QLatin1String(" %1->setToolTip( %2 );\n").arg(itemVarStr, translatedString(cfg, e->toolTip, e->toolTipContext, e->param, i));
+ }
+ if (!e->whatsThis.isEmpty()) {
+ txt += QLatin1String(" %1->setWhatsThis( %2 );\n").arg(itemVarStr, translatedString(cfg, e->whatsThis, e->whatsThisContext, e->param, i));
+ }
+ return txt;
+}
+
+// returns the member mutator implementation
+// which should go in the h file if inline
+// or the cpp file if not inline
+// TODO: Fix add Debug Method, it should also take the debug string.
+void addDebugMethod(QTextStream &out, const KConfigParameters &cfg, const QString &n)
+{
+ if (cfg.qCategoryLoggingName.isEmpty()) {
+ out << " qDebug() << \"" << setFunction(n);
+ } else {
+ out << " qCDebug(" << cfg.qCategoryLoggingName << ") << \"" << setFunction(n);
+ }
+}
+
+// returns the member get default implementation
+// which should go in the h file if inline
+// or the cpp file if not inline
+QString memberGetDefaultBody(const CfgEntry *e)
+{
+ QString result = e->code;
+ QTextStream out(&result, QIODevice::WriteOnly);
+ out << '\n';
+
+ if (!e->param.isEmpty()) {
+ out << " switch (i) {\n";
+ for (int i = 0; i <= e->paramMax; ++i) {
+ if (!e->paramDefaultValues[i].isEmpty()) {
+ out << " case " << i << ": return " << e->paramDefaultValues[i] << ";\n";
+ }
+ }
+ QString defaultValue = e->defaultValue;
+
+ out << " default:\n";
+ out << " return " << defaultValue.replace(QLatin1String("$(%1)").arg(e->param), QLatin1String("i")) << ";\n";
+ out << " }\n";
+ } else {
+ out << " return " << e->defaultValue << ';';
+ }
+
+ return result;
+}
+
+// returns the item accessor implementation
+// which should go in the h file if inline
+// or the cpp file if not inline
+QString itemAccessorBody(const CfgEntry *e, const KConfigParameters &cfg)
+{
+ QString result;
+ QTextStream out(&result, QIODevice::WriteOnly);
+
+ out << "return " << itemPath(e, cfg);
+ if (!e->param.isEmpty()) {
+ out << "[i]";
+ }
+ out << ";\n";
+
+ return result;
+}
+
+// indents text adding X spaces per line
+QString indent(QString text, int spaces)
+{
+ QString result;
+ QTextStream out(&result, QIODevice::WriteOnly);
+ QTextStream in(&text, QIODevice::ReadOnly);
+ QString currLine;
+ while (!in.atEnd()) {
+ currLine = in.readLine();
+ if (!currLine.isEmpty()) {
+ for (int i = 0; i < spaces; ++i) {
+ out << " ";
+ }
+ }
+ out << currLine << '\n';
+ }
+ return result;
+}
+
+bool hasErrors(KConfigXmlParser &parser, const ParseResult &parseResult, const KConfigParameters &cfg)
+{
+ Q_UNUSED(parser)
+
+ if (cfg.className.isEmpty()) {
+ std::cerr << "Class name missing" << std::endl;
+ return true;
+ }
+
+ if (cfg.singleton && !parseResult.parameters.isEmpty()) {
+ std::cerr << "Singleton class can not have parameters" << std::endl;
+ return true;
+ }
+
+ if (!parseResult.cfgFileName.isEmpty() && parseResult.cfgFileNameArg) {
+ std::cerr << "Having both a fixed filename and a filename as argument is not possible." << std::endl;
+ return true;
+ }
+
+ /* TODO: For some reason some configuration files prefer to have *no* entries
+ * at all in it, and the generated code is mostly bogus as KConfigXT will not
+ * handle save / load / properties, etc, nothing.
+ *
+ * The first of those files that I came across are qmakebuilderconfig.kcfg from the KDevelop
+ * project.
+ * I think we should remove the possibility of creating configuration classes from configuration
+ * files that don't really have configuration in it. but I'm changing this right now to allow
+ * kdevelop files to pass.
+ *
+ * Remove for KDE 6
+ * (to make things more interesting, it failed in a code that's never used within KDevelop... )
+ */
+ if (parseResult.entries.isEmpty()) {
+ std::cerr << "No entries." << std::endl;
+ return false;
+ }
+
+ return false;
+}
+
+int main(int argc, char **argv)
+{
+ QCoreApplication app(argc, argv);
+ app.setApplicationName(QStringLiteral("kconfig_compiler"));
+ app.setApplicationVersion(QStringLiteral(KCONFIG_VERSION_STRING));
+
+ QString inputFilename;
+ QString codegenFilename;
+
+ QCommandLineOption targetDirectoryOption(QStringList{QStringLiteral("d"), QStringLiteral("directory")},
+ QCoreApplication::translate("main", "Directory to generate files in [.]"),
+ QCoreApplication::translate("main", "directory"),
+ QStringLiteral("."));
+
+ QCommandLineOption licenseOption(QStringList{QStringLiteral("l"), QStringLiteral("license")},
+ QCoreApplication::translate("main", "Display software license."));
+
+ QCommandLineParser parser;
+
+ parser.addPositionalArgument(QStringLiteral("file.kcfg"), QStringLiteral("Input kcfg XML file"));
+ parser.addPositionalArgument(QStringLiteral("file.kcfgc"), QStringLiteral("Code generation options file"));
+
+ parser.addOption(targetDirectoryOption);
+ parser.addOption(licenseOption);
+
+ parser.addVersionOption();
+ parser.addHelpOption();
+ parser.process(app);
+
+ if (parser.isSet(licenseOption)) {
+ std::cout << "Copyright 2003 Cornelius Schumacher, Waldo Bastian, Zack Rusin," << std::endl;
+ std::cout << " Reinhold Kainhofer, Duncan Mac-Vicar P., Harald Fernengel" << std::endl;
+ std::cout << "This program comes with ABSOLUTELY NO WARRANTY." << std::endl;
+ std::cout << "You may redistribute copies of this program" << std::endl;
+ std::cout << "under the terms of the GNU Library Public License." << std::endl;
+ std::cout << "For more information about these matters, see the file named COPYING." << std::endl;
+ return 0;
+ }
+
+ const QStringList args = parser.positionalArguments();
+ if (args.count() < 2) {
+ std::cerr << "Too few arguments." << std::endl;
+ return 1;
+ }
+
+ if (args.count() > 2) {
+ std::cerr << "Too many arguments." << std::endl;
+ return 1;
+ }
+ inputFilename = args.at(0);
+ codegenFilename = args.at(1);
+
+ // TODO: Transform baseDir into a helper.
+ QString baseDir = parser.value(targetDirectoryOption);
+
+#ifdef Q_OS_WIN
+ if (!baseDir.endsWith(QLatin1Char{'/'}) && !baseDir.endsWith(QLatin1Char{'\\'})) {
+#else
+ if (!baseDir.endsWith(QLatin1Char{'/'})) {
+#endif
+ baseDir.append(QLatin1Char{'/'});
+ }
+
+ KConfigParameters cfg(codegenFilename);
+
+ KConfigXmlParser xmlParser(cfg, inputFilename);
+
+ // The Xml Parser aborts in the case of an error, so if we get
+ // to parseResult, we have a working Xml file.
+ xmlParser.start();
+
+ ParseResult parseResult = xmlParser.getParseResult();
+
+ if (hasErrors(xmlParser, parseResult, cfg)) {
+ return 1;
+ }
+
+ // TODO: Move this to somewhere saner.
+ for (const auto &signal : std::as_const(parseResult.signalList)) {
+ parseResult.hasNonModifySignals |= !signal.modify;
+ }
+
+ // remove '.kcfg' from the name.
+ const QString baseName = inputFilename.mid(0, inputFilename.size() - 5);
+ KConfigHeaderGenerator headerGenerator(baseName, baseDir, cfg, parseResult);
+ headerGenerator.start();
+ headerGenerator.save();
+
+ KConfigSourceGenerator sourceGenerator(baseName, baseDir, cfg, parseResult);
+ sourceGenerator.start();
+ sourceGenerator.save();
+
+ qDeleteAll(parseResult.entries);
+}
--- /dev/null
+add_executable(kreadconfig6 kreadconfig.cpp)
+ecm_mark_nongui_executable(kreadconfig6)
+
+target_link_libraries(kreadconfig6 KF6::ConfigCore)
+
+install(TARGETS kreadconfig6 ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
+
+########### next target ###############
+
+add_executable(kwriteconfig6 kwriteconfig.cpp)
+ecm_mark_nongui_executable(kwriteconfig6)
+
+target_link_libraries(kwriteconfig6 KF6::ConfigCore)
+
+install(TARGETS kwriteconfig6 ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
--- /dev/null
+/* Read KConfig() entries - for use in shell scripts.
+
+ SPDX-FileCopyrightText: 2001 Red Hat, Inc.
+ SPDX-FileContributor: Programmed by Bernhard Rosenkraenzer <bero@redhat.com>
+
+ SPDX-License-Identifier: GPL-2.0-or-later
+*/
+
+/*
+ * If --type is specified as bool, the return value is 0 if the value
+ * is set, 1 if it isn't set. There is no output.
+ *
+ * If --type is specified as num, the return value matches the value
+ * of the key. There is no output.
+ *
+ * If --type is not set, the value of the key is simply printed to stdout.
+ *
+ * Usage examples:
+ * if kreadconfig6 --group KDE --key macStyle --type bool; then
+ * echo "We're using Mac-Style menus."
+ * else
+ * echo "We're using normal menus."
+ * fi
+ *
+ * TRASH=`kreadconfig6 --group Paths --key Trash`
+ * if test -n "$TRASH"; then
+ * mv someFile "$TRASH"
+ * else
+ * rm someFile
+ * fi
+ */
+
+#include <KConfig>
+#include <KConfigGroup>
+#include <KSharedConfig>
+#include <QCommandLineParser>
+#include <stdio.h>
+
+int main(int argc, char **argv)
+{
+ QCoreApplication app(argc, argv);
+
+ QCommandLineParser parser;
+ parser.addHelpOption();
+ parser.addOption(
+ QCommandLineOption(QStringLiteral("file"), QCoreApplication::translate("main", "Use <file> instead of global config"), QStringLiteral("file")));
+ parser.addOption(
+ QCommandLineOption(QStringLiteral("group"),
+ QCoreApplication::translate("main", "Group to look in. Use \"<default>\" for the root group, or use repeatedly for nested groups."),
+ QStringLiteral("group"),
+ QStringLiteral("KDE")));
+ parser.addOption(QCommandLineOption(QStringLiteral("key"), QCoreApplication::translate("main", "Key to look for"), QStringLiteral("key")));
+ parser.addOption(QCommandLineOption(QStringLiteral("default"), QCoreApplication::translate("main", "Default value"), QStringLiteral("value")));
+ parser.addOption(QCommandLineOption(QStringLiteral("type"), QCoreApplication::translate("main", "Type of variable"), QStringLiteral("type")));
+
+ parser.process(app);
+
+ const QStringList groups = parser.values(QStringLiteral("group"));
+ QString key = parser.value(QStringLiteral("key"));
+ QString file = parser.value(QStringLiteral("file"));
+ QString dflt = parser.value(QStringLiteral("default"));
+ QString type = parser.value(QStringLiteral("type")).toLower();
+
+ if (key.isNull() || !parser.positionalArguments().isEmpty()) {
+ parser.showHelp(1);
+ }
+
+ KSharedConfig::openConfig();
+
+ KConfig *konfig;
+ bool configMustDeleted = false;
+ if (file.isEmpty()) {
+ konfig = KSharedConfig::openConfig().data();
+ } else {
+ konfig = new KConfig(file, KConfig::NoGlobals);
+ configMustDeleted = true;
+ }
+ KConfigGroup cfgGroup = konfig->group(QString());
+ for (const QString &grp : groups) {
+ if (grp.isEmpty()) {
+ fprintf(stderr,
+ "%s: %s\n",
+ qPrintable(QCoreApplication::applicationName()),
+ qPrintable(QCoreApplication::translate("main", "Group name cannot be empty, use \"<default>\" for the root group")));
+ if (configMustDeleted) {
+ delete konfig;
+ }
+ return 2;
+ }
+ cfgGroup = cfgGroup.group(grp);
+ }
+
+ if (type == QLatin1String{"bool"}) {
+ dflt = dflt.toLower();
+ bool def = (dflt == QLatin1String{"true"} || dflt == QLatin1String{"on"} || dflt == QLatin1String{"yes"} || dflt == QLatin1String{"1"});
+ bool retValue = !cfgGroup.readEntry(key, def);
+ if (configMustDeleted) {
+ delete konfig;
+ }
+ return retValue;
+ } else if (type == QLatin1String{"num"} || type == QLatin1String{"int"}) {
+ int retValue = cfgGroup.readEntry(key, dflt.toInt());
+ if (configMustDeleted) {
+ delete konfig;
+ }
+ return retValue;
+ } else if (type == QLatin1String{"path"}) {
+ fprintf(stdout, "%s\n", cfgGroup.readPathEntry(key, dflt).toLocal8Bit().data());
+ if (configMustDeleted) {
+ delete konfig;
+ }
+ return 0;
+ } else {
+ /* Assume it's a string... */
+ fprintf(stdout, "%s\n", cfgGroup.readEntry(key, dflt).toLocal8Bit().data());
+ if (configMustDeleted) {
+ delete konfig;
+ }
+ return 0;
+ }
+}
--- /dev/null
+/* Write KConfig() entries - for use in shell scripts.
+
+ SPDX-FileCopyrightText: 2001 Red Hat , Inc.
+ SPDX-FileCopyrightText: 2001 Luís Pedro Coelho <luis_pedro@netcabo.pt>
+
+ Programmed by Luís Pedro Coelho <luis_pedro@netcabo.pt>
+ based on kreadconfig by Bernhard Rosenkraenzer <bero@redhat.com>
+
+ SPDX-License-Identifier: GPL-2.0-or-later
+*/
+
+#include <KConfig>
+#include <KConfigGroup>
+#include <QCommandLineParser>
+#include <QCoreApplication>
+#include <stdio.h>
+
+int main(int argc, char **argv)
+{
+ QCoreApplication app(argc, argv);
+
+ QCommandLineParser parser;
+ parser.addHelpOption();
+ parser.addOption(
+ QCommandLineOption(QStringLiteral("file"), QCoreApplication::translate("main", "Use <file> instead of global config"), QStringLiteral("file")));
+ parser.addOption(
+ QCommandLineOption(QStringLiteral("group"),
+ QCoreApplication::translate("main", "Group to look in. Use \"<default>\" for the root group, or use repeatedly for nested groups."),
+ QStringLiteral("group"),
+ QStringLiteral("KDE")));
+ parser.addOption(QCommandLineOption(QStringLiteral("key"), QCoreApplication::translate("main", "Key to look for"), QStringLiteral("key")));
+ parser.addOption(
+ QCommandLineOption(QStringLiteral("type"),
+ QCoreApplication::translate("main", "Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a string"),
+ QStringLiteral("type")));
+ parser.addOption(QCommandLineOption(QStringLiteral("delete"), QCoreApplication::translate("main", "Delete the designated key if enabled")));
+ parser.addPositionalArgument(QStringLiteral("value"), QCoreApplication::translate("main", "The value to write. Mandatory, on a shell use '' for empty"));
+
+ parser.process(app);
+
+ const QStringList groups = parser.values(QStringLiteral("group"));
+ QString key = parser.value(QStringLiteral("key"));
+ QString file = parser.value(QStringLiteral("file"));
+ QString type = parser.value(QStringLiteral("type")).toLower();
+ bool del = parser.isSet(QStringLiteral("delete"));
+
+ QString value;
+ if (del) {
+ value = QString{};
+ } else if (parser.positionalArguments().isEmpty()) {
+ parser.showHelp(1);
+ } else {
+ value = parser.positionalArguments().at(0);
+ }
+
+ KConfig *konfig;
+ if (file.isEmpty()) {
+ konfig = new KConfig(QStringLiteral("kdeglobals"), KConfig::NoGlobals);
+ } else {
+ konfig = new KConfig(file, KConfig::NoGlobals);
+ }
+
+ KConfigGroup cfgGroup = konfig->group(QString());
+ for (const QString &grp : groups) {
+ if (grp.isEmpty()) {
+ fprintf(stderr,
+ "%s: %s\n",
+ qPrintable(QCoreApplication::applicationName()),
+ qPrintable(QCoreApplication::translate("main", "Group name cannot be empty, use \"<default>\" for the root group")));
+ return 2;
+ }
+ cfgGroup = cfgGroup.group(grp);
+ }
+
+ if (konfig->accessMode() != KConfig::ReadWrite || cfgGroup.isEntryImmutable(key)) {
+ return 2;
+ }
+
+ if (del) {
+ cfgGroup.deleteEntry(key);
+ } else if (type == QLatin1String{"bool"}) {
+ // For symmetry with kreadconfig we accept a wider range of values as true than Qt
+ /* clang-format off */
+ bool boolvalue = value == QLatin1String{"true"}
+ || value == QLatin1String{"on"}
+ || value == QLatin1String{"yes"}
+ || value == QLatin1String{"1"}; /* clang-format on */
+ cfgGroup.writeEntry(key, boolvalue);
+ } else if (type == QLatin1String{"path"}) {
+ cfgGroup.writePathEntry(key, value);
+ } else {
+ cfgGroup.writeEntry(key, value);
+ }
+ konfig->sync();
+ delete konfig;
+ return 0;
+}
--- /dev/null
+# SPDX-FileCopyrightText: 2023 Alexander Lohnau <alexander.lohnau@gmx.de>
+# SPDX-License-Identifier: BSD-2-Clause
+
+add_library(KF6ConfigQml)
+add_library(KF6::ConfigQml ALIAS KF6ConfigQml)
+
+ecm_add_qml_module(KF6ConfigQml URI org.kde.config GENERATE_PLUGIN_SOURCE)
+
+set_target_properties(KF6ConfigQml PROPERTIES
+ VERSION ${KCONFIG_VERSION}
+ SOVERSION ${KCONFIG_SOVERSION}
+ EXPORT_NAME ConfigQml
+)
+
+target_sources(KF6ConfigQml PRIVATE
+ kconfigpropertymap.cpp
+ kwindowstatesaverquick.cpp
+ types.cpp
+)
+
+ecm_qt_declare_logging_category(KF6ConfigQml
+ HEADER kconfig_qml_log_settings.h
+ IDENTIFIER KCONFIG_QML_LOG
+ CATEGORY_NAME kf.config.qml
+ DESCRIPTION "KConfig QML"
+ EXPORT KCONFIG
+)
+
+ecm_generate_export_header(KF6ConfigQml
+ BASE_NAME KConfigQml
+ GROUP_BASE_NAME KF
+ VERSION ${KF_VERSION}
+ USE_VERSION_HEADER
+ VERSION_BASE_NAME KConfig
+ DEPRECATED_BASE_VERSION 0
+ EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
+)
+
+target_link_libraries(KF6ConfigQml
+ PUBLIC
+ KF6::ConfigCore # KCoreConfigSkeleton, in ConfigPropertyMap
+ KF6::ConfigGui # KWindowStateSaver
+ Qt6::Qml
+ PRIVATE
+ Qt6::Quick
+)
+
+ecm_generate_headers(KConfigQml_HEADERS
+ HEADER_NAMES
+ KConfigPropertyMap
+
+ REQUIRED_HEADERS KConfigQml_HEADERS
+)
+target_include_directories(KF6ConfigQml
+ INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KConfig;${KDE_INSTALL_INCLUDEDIR_KF}/KConfigQml>")
+
+install(TARGETS KF6ConfigQml EXPORT KF6ConfigTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
+install(FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/kconfigqml_export.h
+ ${KConfigQml_HEADERS}
+ DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KConfigQml COMPONENT Devel
+)
+
+ecm_finalize_qml_module(KF6ConfigQml DESTINATION ${KDE_INSTALL_QMLDIR} EXPORT KF6ConfigTargets)
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2013 Marco Martin <notmart@gmail.com>
+ SPDX-FileCopyrightText: 2020 David Edmundson <davidedmundson@kde.org>
+ SPDX-FileCopyrightText: 2021 Alexander Lohnau <alexander.lohnau@gmx.de>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "kconfigpropertymap.h"
+
+#include <KCoreConfigSkeleton>
+#include <QJSValue>
+#include <QPointer>
+
+#include <functional>
+
+class KConfigPropertyMapPrivate
+{
+public:
+ KConfigPropertyMapPrivate(KConfigPropertyMap *map)
+ : q(map)
+ {
+ }
+
+ enum LoadConfigOption {
+ DontEmitValueChanged,
+ EmitValueChanged,
+ };
+
+ void loadConfig(LoadConfigOption option);
+ void writeConfig();
+ void writeConfigValue(const QString &key, const QVariant &value);
+
+ KConfigPropertyMap *q;
+ QPointer<KCoreConfigSkeleton> config;
+ bool updatingConfigValue = false;
+ bool notify = false;
+};
+
+KConfigPropertyMap::KConfigPropertyMap(KCoreConfigSkeleton *config, QObject *parent)
+ : QQmlPropertyMap(this, parent)
+ , d(new KConfigPropertyMapPrivate(this))
+{
+ Q_ASSERT(config);
+ d->config = config;
+
+ // Reload the config only if the change signal has *not* been emitted by ourselves updating the config
+ connect(config, &KCoreConfigSkeleton::configChanged, this, [this]() {
+ if (!d->updatingConfigValue) {
+ d->loadConfig(KConfigPropertyMapPrivate::EmitValueChanged);
+ }
+ });
+ connect(this, &KConfigPropertyMap::valueChanged, this, [this](const QString &key, const QVariant &value) {
+ d->writeConfigValue(key, value);
+ });
+
+ d->loadConfig(KConfigPropertyMapPrivate::DontEmitValueChanged);
+}
+
+KConfigPropertyMap::~KConfigPropertyMap() = default;
+
+bool KConfigPropertyMap::isNotify() const
+{
+ return d->notify;
+}
+
+void KConfigPropertyMap::setNotify(bool notify)
+{
+ d->notify = notify;
+}
+
+void KConfigPropertyMap::writeConfig()
+{
+ d->writeConfig();
+}
+
+QVariant KConfigPropertyMap::updateValue(const QString &key, const QVariant &input)
+{
+ Q_UNUSED(key);
+ if (input.userType() == qMetaTypeId<QJSValue>()) {
+ return input.value<QJSValue>().toVariant();
+ }
+ return input;
+}
+
+bool KConfigPropertyMap::isImmutable(const QString &key) const
+{
+ KConfigSkeletonItem *item = d->config.data()->findItem(key);
+ if (item) {
+ return item->isImmutable();
+ }
+
+ return false;
+}
+
+void KConfigPropertyMapPrivate::loadConfig(KConfigPropertyMapPrivate::LoadConfigOption option)
+{
+ if (!config) {
+ return;
+ }
+
+ const auto &items = config.data()->items();
+ for (KConfigSkeletonItem *item : items) {
+ q->insert(item->key() + QStringLiteral("Default"), item->getDefault());
+ q->insert(item->key(), item->property());
+ if (option == EmitValueChanged) {
+ Q_EMIT q->valueChanged(item->key(), item->property());
+ }
+ }
+}
+
+void KConfigPropertyMapPrivate::writeConfig()
+{
+ if (!config) {
+ return;
+ }
+
+ const auto lstItems = config.data()->items();
+ for (KConfigSkeletonItem *item : lstItems) {
+ item->setWriteFlags(notify ? KConfigBase::Notify : KConfigBase::Normal);
+ item->setProperty(q->value(item->key()));
+ }
+ // Internally sync the config. This way we ensure the config file is written, even if the process crashed
+ config.data()->save();
+}
+
+void KConfigPropertyMapPrivate::writeConfigValue(const QString &key, const QVariant &value)
+{
+ KConfigSkeletonItem *item = config.data()->findItem(key);
+ if (item) {
+ updatingConfigValue = true;
+ item->setWriteFlags(notify ? KConfigBase::Notify : KConfigBase::Normal);
+ item->setProperty(value);
+ updatingConfigValue = false;
+ }
+}
+
+#include "moc_kconfigpropertymap.cpp"
--- /dev/null
+/*
+ SPDX-FileCopyrightText: 2013 Marco Martin <notmart@gmail.com>
+ SPDX-FileCopyrightText: 2020 David Edmundson <davidedmundson@kde.org>
+ SPDX-FileCopyrightText: 2021 Alexander Lohnau <alexander.lohnau@gmx.de>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#ifndef KCONFIGPROPERTYMAP_H
+#define KCONFIGPROPERTYMAP_H
+
+#include <QQmlPropertyMap>
+#include <memory>
+#include <qqmlregistration.h>
+
+class KCoreConfigSkeleton;
+
+#include <kconfigqml_export.h>
+
+class KConfigPropertyMapPrivate;
+
+/**
+ * @class KConfigPropertyMap configpropertymap.h ConfigPropertyMap
+ *
+ * An object that (optionally) automatically saves changes in a
+ * property map to a configuration object (e.g. a KConfig file).
+ * @since 5.89
+ */
+class KCONFIGQML_EXPORT KConfigPropertyMap : public QQmlPropertyMap
+{
+ Q_OBJECT
+ QML_ANONYMOUS
+
+public:
+ KConfigPropertyMap(KCoreConfigSkeleton *config, QObject *parent = nullptr);
+ ~KConfigPropertyMap() override;
+
+ /**
+ * Whether notifications on config changes are enabled. Disabled by default.
+ * @see KConfigBase::Notify
+ * @return true if writes send (dbus) notifications
+ */
+ bool isNotify() const;
+
+ /**
+ * Enable or disable notifications on config changes.
+ * @see KConfigBase::Notify
+ * @param notify whether to send notifications
+ */
+ void setNotify(bool notify);
+
+ /**
+ * @brief Whether the value at the given key is immutable
+ *
+ * @return true if the value is immutable, false if it isn't or it doesn't exist
+ */
+ Q_INVOKABLE bool isImmutable(const QString &key) const;
+
+ /**
+ * Saves the state of the property map on disk.
+ */
+ Q_INVOKABLE void writeConfig();
+
+protected:
+ QVariant updateValue(const QString &key, const QVariant &input) override;
+
+private:
+ std::unique_ptr<KConfigPropertyMapPrivate> const d;
+};
+
+#endif
--- /dev/null
+// SPDX-FileCopyrightText: 2024 Joshua Goins <josh@redstrate.com>
+// SPDX-License-Identifier: LGPL-2.0-or-later
+
+#include "kwindowstatesaverquick.h"
+#include "kconfig_qml_log_settings.h"
+
+#include <QQuickItem>
+#include <QQuickWindow>
+
+#include <KWindowStateSaver>
+
+void KWindowStateSaverQuick::classBegin()
+{
+}
+
+void KWindowStateSaverQuick::componentComplete()
+{
+ const auto parentItem = qobject_cast<QQuickItem *>(parent());
+ if (!parentItem) {
+ qCWarning(KCONFIG_QML_LOG) << "WindowStateSaver requires a parent item";
+ return;
+ }
+
+ const auto window = qobject_cast<QWindow *>(parentItem->window());
+ if (!window) {
+ qCWarning(KCONFIG_QML_LOG) << "WindowStateSaver requires the parent to be a type that inherits QWindow";
+ return;
+ }
+
+ new KWindowStateSaver(window, m_configGroupName);
+
+ // To work around oddities in QtQuick window visibility handling.
+ // If we do not set the window visible now, then our window state is
+ // overwritten during QQuickWindowQmlImpl::setWindowVisibility() because
+ // QQuickWindow is AutomaticVisibility by default.
+ if (window->windowState() == Qt::WindowMaximized) {
+ window->setVisibility(QWindow::Visibility::Maximized);
+ }
+}
+
+void KWindowStateSaverQuick::setConfigGroupName(const QString &name)
+{
+ if (m_configGroupName != name) {
+ m_configGroupName = name;
+ Q_EMIT configGroupNameChanged();
+ }
+}
+
+QString KWindowStateSaverQuick::configGroupName() const
+{
+ return m_configGroupName;
+}
+
+#include "moc_kwindowstatesaverquick.cpp"
--- /dev/null
+// SPDX-FileCopyrightText: 2024 Joshua Goins <josh@redstrate.com>
+// SPDX-License-Identifier: LGPL-2.0-or-later
+
+#ifndef KWINDOWSTATESAVER_QUICK_H
+#define KWINDOWSTATESAVER_QUICK_H
+
+#include <QQmlEngine>
+
+/**
+ * @brief Creates a @c KWindowStateSaver in QML, and assigns it to the window it's parented to.
+ *
+ * Functions exactly as KWindowStateSaver in C++, as it's a small wrapper around it.
+ *
+ * @code
+ * import org.kde.config as KConfig
+ *
+ * Kirigami.ApplicationWindow {
+ * id: root
+ *
+ * title: i18n("My Window")
+ *
+ * KConfig.WindowStateSaver {
+ * configGroupName: "Main"
+ * }
+ * }
+ * @endcode
+ * @since 6.5
+ *
+ * @sa KWindowStateSaver
+ */
+class KWindowStateSaverQuick : public QObject, public QQmlParserStatus
+{
+ Q_OBJECT
+ QML_ELEMENT
+ QML_NAMED_ELEMENT(WindowStateSaver)
+ Q_INTERFACES(QQmlParserStatus)
+
+ Q_PROPERTY(QString configGroupName READ configGroupName WRITE setConfigGroupName NOTIFY configGroupNameChanged REQUIRED)
+
+public:
+ void classBegin() override;
+ void componentComplete() override;
+
+ void setConfigGroupName(const QString &name);
+ QString configGroupName() const;
+
+Q_SIGNALS:
+ void configGroupNameChanged();
+
+private:
+ QString m_configGroupName;
+};
+
+#endif
--- /dev/null
+// SPDX-FileCopyrightText: 2023 Nicolas Fella <nicolas.fella@gmx.de>
+// SPDX-License-Identifier: LGPL-2.0-or-later
+
+#include "moc_types.cpp"
--- /dev/null
+// SPDX-FileCopyrightText: 2023 Nicolas Fella <nicolas.fella@gmx.de>
+// SPDX-License-Identifier: LGPL-2.0-or-later
+
+#ifndef KCONFIGTYPES_H
+#define KCONFIGTYPES_H
+
+#include <QQmlEngine>
+
+#include <kauthorized.h>
+#include <kcoreconfigskeleton.h>
+
+struct KAuthorizedForeign {
+ Q_GADGET
+ QML_NAMED_ELEMENT(KAuthorized)
+ QML_SINGLETON
+ QML_FOREIGN(KAuthorized)
+};
+
+struct KCoreConfigSkeletonForeign {
+ Q_GADGET
+ QML_ANONYMOUS
+ QML_FOREIGN(KCoreConfigSkeleton)
+};
+
+#endif